Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

Connect Conversations API (classic)


If you already have a Twilio Conversations API (classic) service, you can connect it to Conversation Orchestrator with a bridge. Messages sync bidirectionally between your classic service and Conversation Orchestrator, so your existing application keeps working while gaining access to Conversation Memory and Conversation Intelligence features.

The bridge is also the only way to use the Chat channel with Conversation Orchestrator.


Prerequisites

prerequisites page anchor

Create a bridged configuration

create-a-bridged-configuration page anchor

Create a conversation configuration that points at your Conversations API (classic) service.

1
CREATE_CONFIGURATION_REQUEST_OBJ=$(cat << EOF
2
{
3
"displayName": "classic-bridge-config",
4
"description": "Bridges a Conversations (classic) service into Conversation Orchestrator",
5
"conversationGroupingType": "GROUP_BY_PARTICIPANT_ADDRESSES",
6
"memoryStoreId": "YOUR_MEMORY_STORE_ID",
7
"conversationsV1Bridge": {
8
"serviceId": "YOUR_CLASSIC_SERVICE_SID"
9
}
10
}
11
EOF
12
)
13
curl -X POST "https://conversations.twilio.com/v2/ControlPlane/Configurations" \
14
--json "$CREATE_CONFIGURATION_REQUEST_OBJ" \
15
-u $TWILIO_API_KEY:$TWILIO_API_SECRET

Replace YOUR_CLASSIC_SERVICE_SID with your Conversations API (classic) Service SID, and replace YOUR_MEMORY_STORE_ID with the ID of your memory store.

Poll the returned statusUrl until status is COMPLETED.


  1. Send a message through your existing Conversations API (classic) conversation.
  2. Wait three seconds for the bridge to sync.
  3. List your Conversation Orchestrator conversations:
1
curl -X GET "https://conversations.twilio.com/v2/Conversations" \
2
-u $TWILIO_API_KEY:$TWILIO_API_SECRET

Continue using the Conversations API (classic) endpoints to send replies. The bridge syncs them with Conversation Orchestrator.


Combine with other channels

combine-with-other-channels page anchor

You can combine a classic bridge with capture rules for other channels. For example, bridge Chat from classic while capturing voice calls passively. With GROUP_BY_PROFILE, voice calls and bridged chat conversations group together when Conversation Orchestrator matches the same customer profile across channels:

1
CREATE_CONFIGURATION_REQUEST_OBJ=$(cat << EOF
2
{
3
"displayName": "classic-bridge-with-voice",
4
"description": "Bridges a classic service and captures inbound voice calls",
5
"conversationGroupingType": "GROUP_BY_PROFILE",
6
"memoryStoreId": "YOUR_MEMORY_STORE_ID",
7
"conversationsV1Bridge": {
8
"serviceId": "YOUR_CLASSIC_SERVICE_SID"
9
},
10
"channelSettings": {
11
"VOICE": {
12
"captureRules": [
13
{
14
"from": "*",
15
"to": "YOUR_TWILIO_PHONE_NUMBER",
16
"metadata": { "callType": "PSTN" }
17
}
18
]
19
}
20
}
21
}
22
EOF
23
)
24
curl -X POST "https://conversations.twilio.com/v2/ControlPlane/Configurations" \
25
--json "$CREATE_CONFIGURATION_REQUEST_OBJ" \
26
-u $TWILIO_API_KEY:$TWILIO_API_SECRET

  • Don't configure capture rules and a classic bridge for the same traffic. Pick one integration per channel.
  • conversationGroupingType controls grouping for channels outside classic. Inside classic, each classic conversation maps 1:1 to a Conversation Orchestrator conversation.