00 · Header

T8 · Flows, integrations, and the current platform

APIs, Webhooks & Webex Connect

Gateway Flows and tools T8-R03 CustomerFlowAPIAgent
Illustrated scene for APIs, Webhooks & Webex Connect. Original drawing, not a product screenshot.
Sequence · Customer → Flow → API → Agent CustomerFlowAPIAgent 123
Color-coded sequence: Customer → Flow → API → Agent. A packet moves along the arrows. Reduced motion keeps every step visible.

Webex Connect is the programmable CPaaS: channels, a service workspace, Flow Builder, and rules. Inbound webhooks start a flow. Outbound webhooks carry receipts and incoming messages. A Webex Contact Center Task is the unit of agent work, and the tasks API asks for cjp:config or cjp:config_read. Calling recording events already have names on the commercial call-control page. A subscription cap, and webhooks for call queues, are not in those pages.

Room T8-R03 Version v0.1 last-verified: 2026-10-14 Difficulty L3 Est. time 90–110 min Prereq T3-R01, T8-R01 Reading 17 min

01 · Executive summary

Five lines, then why it matters

  • Connect’s own page lists six areas: channel provisioning, integration setup, flow orchestration, multichannel messaging, NLP/NLU/AI, and enterprise control. Channels include SMS, RCS, Branded Text, WhatsApp, Push, Live Chat and In-App, Email, Voice, MMS, Apple Messages for Business, and Messenger. [cite:1]
  • Assets are created in the Connect portal, in Control Hub for Email and Chat, or through Developer Portal APIs for those digital assets. A service holds the assets, integrations, credentials, flows, and rules. Flow Builder is the multi-step designer. Rules are the shorter trigger-condition-action path. [cite:1]
  • Inbound webhooks notify Connect about an external event and can start a flow or a rule. Outbound webhooks deliver receipts and incoming messages. Custom nodes wrap REST or SOAP. Authorizations are a service key or a JWT. [cite:1]
  • A contact-center Task is a request for agent work. Telephony is an incoming call, chat is a session, email is a chain. Listing tasks wants scope cjp:config or cjp:config_read. [cite:2]
  • Commercial call control documents telephony_calls recording events and scope spark-admin:calls_read. List Events uses resource convergedRecordings with serviceType required. as of 2026-10-14 the Webhooks guide prints 30000 personal webhooks per user and one org-wide webhook, plus additional registrations for different resources and filters. A Calling call queue emits telephony_queue updated, not the recording events on telephony_calls. [cite:6] [cite:3]
Why it matters. Flow Designer, Connect Flow Builder, and an ICM script are three editors. T8-R01 is Flow Designer. This room is Connect plus the two APIs above. CRM connectors still exclude chat and email; Connect is where those channels are built.

02 · Architecture map

A service, two webhook directions, one task

Mermaid source (not rendered)
flowchart LR
  Asset[Channel asset] --> Svc[Service]
  InHook[Inbound webhook] --> Flow
  Flow --> OutHook[Outbound webhook]
  Flow --> Task[WxCC Task]

03 · Core concepts

Name the editor before you name the API

Three editors

Webex Contact Center Flow Designer is T8-R01. Webex Connect Flow Builder designs multi-step customer flows inside a service. An ICM script is the Enterprise editor, and T6-R04 keeps that import marked. Connect’s page also has Rules, which are triggers, conditions, and actions for shorter work. [cite:1]

Host match is not this room

SIP URI host matching lives in T2-R03. Connect Voice on the CPaaS page is outbound notifications, programmable calling, IVR, and call recording for Connect. It is not the Local Gateway dial-peer table. [cite:1]

Do not invent a webhook quota

The commercial pages cited here name recording events and the tasks scopes. The recording pages still do not say a call queue emits telephony_calls. The ceiling and the Calling queue resource are on the Webhooks guide. as of 2026-10-14 the Webhooks guide prints 30000 personal webhooks per user and one org-wide webhook, plus additional registrations for different resources and filters. A Calling call queue emits telephony_queue updated, not the recording events on telephony_calls. [cite:6] The government developer site is a different cloud. [cite:2] [cite:3]

Where an asset is born

PathWhat the Connect page says it is forCite
Webex Connect portalSupported channel assets, including SMS, RCS, and the other channels in the portal docs.[cite:1]
Control HubEmail and Chat assets, assigned to a Webex service.[cite:1]
Developer Portal APIsProgrammatic Email and Chat assets.[cite:1]

Integration tools

ToolDirectionWhat movesCite
Inbound webhookInto ConnectAn external event that can start a flow or a rule.[cite:1]
Outbound webhookOut of ConnectDelivery receipts and incoming messages.[cite:1]
Custom eventInto ConnectA business event plus data, to start a flow or a rule.[cite:1]
Custom nodeConnect calls outA reusable REST or SOAP integration inside a flow.[cite:1]
AuthorizationOn the callService key or JWT for services, APIs, inbound webhooks, and nodes.[cite:1]
Pre-built integrationTo another systemCRM, contact center, bot, healthcare, and customer-data systems the page lists.[cite:1]
Tasks APIContact centerOpen or closed tasks in a date range. Scopes cjp:config or cjp:config_read.[cite:2]
telephony_calls recordingWebex CallingrecordingStarting, recordingStarted, recordingPaused, recordingResumed, recordingStopped. Scope spark-admin:calls_read.[cite:3]

04 · Ecosystem & sister technologies

Glossary, map, sisters, edges

CustomerFlowAPIAgent This room
Mini map of the neighbors named on this room’s sequence. Orientation sketch, not a new product claim.

Glossary

Webex Connect
Programmable CPaaS. APIs, SDKs, and low-code tools for the six areas on the product page. [cite:1]
Channel asset
Email configuration, app, messaging account, phone number, sender, or channel-specific application. [cite:1]
Service
Workspace for the assets, integrations, credentials, flows, and rules of one use case. [cite:1]
Flow Builder
Connect’s designer for multi-step flows: design, test, publish, manage. Not Flow Designer and not an ICM script. [cite:1]
Rules
Trigger, condition, and action for shorter automation than a flow. [cite:1]
Inbound webhook
External application notifies Connect and can start a flow or a rule. [cite:1]
Outbound webhook
Connect delivers receipts and incoming messages to an application. [cite:1]
Custom node
Reusable REST or SOAP call inside a flow. [cite:1]
Service key and JWT
The two authorization styles the integration table names. [cite:1]
AI Agent Studio
Where Connect says you create and manage AI agents. Fulfillment flows connect agent actions back to Connect flows. [cite:1]
Contact policy
Consent, preferences, and how often you may contact someone. [cite:1]
Task
A request for agent work. A telephony task is an incoming call. A chat task is a session. An email task is a chain. [cite:2]
cjp:config
One of the two scopes the Tasks Call Control page requires. The other is cjp:config_read. [cite:2]
telephony_calls
The Calling webhook resource that carries the recording lifecycle events. Scope spark-admin:calls_read. [cite:3]
convergedRecordings
List Events resource for “a Webex call was recorded for a user.” serviceType is mandatory when that resource is set. [cite:3]
CRM connector
Cisco’s Salesforce, Dynamics 365, or ServiceNow screen pop. Chat and email are not supported on those connectors. Connect is the digital path. [cite:4]

Mind map

Mermaid source (not rendered)
mindmap
  root((T8-R03))
    Connect
    Tasks
    Recording hooks
    Marked gaps

Sister-technology matrix

SisterWhat it isWhy it matters hereConfig touchpointTypical failureCite
WFM / WFOWorkforce scheduling outside the CPaaS page.Connect’s control section is roles, audit, contact policy, and reports. It does not set a WFM shift.Connect reports and debug console.Read the WFM failure in the workforce article, not on the Connect debug console. Connect does not set a WFM shift, so a Connect error is a different symptom.
Quality / recordingConnect Voice lists call recording. Calling has its own recording webhooks.Use the event names from call control when the recording is a Webex call. Connect Voice recording is the CPaaS feature.telephony_calls versus Connect Voice docs.Subscribing to recordingStopped and expecting a queue event.[cite:1] [cite:3]
E911Emergency calling on the voice path.Not configured by a Connect inbound webhook in the pages cited here.Calling and WxCC WebRTC emergency are nvfbjts and av6oo3, not a Connect webhook.Cited [cite:7]
AnalyzerContact-center reporting.A Task is the work object. Analyzer is not the Tasks API.Tasks date range versus Analyzer.Treating a task list as a historical report.[cite:2]
CRMPre-built Connect integrations, and the separate WxCC CRM connectors.Connect can integrate with CRM systems. The agent gadget still excludes chat and email.Pre-built integrations, and dyidod for the gadget.Opening Salesforce to read a WhatsApp thread.[cite:1] [cite:4]
AI agentsAI Agent Studio and fulfillment flows.The agent’s action runs a Connect flow.Getting Started with Webex AI Agent Studio, as the page links it.Putting the bot logic in Flow Designer and calling it Connect.[cite:1]
IVRConnect Voice includes IVR.That IVR is Connect’s, beside Flow Designer.Connect Voice documentation.Importing a CVP app. That row is marked in T6-R04.[cite:1]
Digital channelsThe channel table on the Connect page.SMS through Messenger, including WhatsApp and Apple Messages for Business.Portal, Control Hub, or digital asset APIs.Assuming every channel is configured in Control Hub. Email and Chat are the Control Hub pair the page names.[cite:1]
IdentityService key or JWT on Connect. Webex scopes on the Calling and contact-center APIs.The scope string has to match the API.Connect authorizations, and the developer app.Sending spark-admin:calls_read to the Tasks API.[cite:1] [cite:2] [cite:3]
Flow DesignerWxCC flow editor, T8-R01.Queue Contact and estimated wait live there. Connect chooses non-telephony flows in the architecture article’s digital path.T8-R01 and T3-R03.One canvas for both products.[cite:5]
Contact center pre-builtConnect integrations that include contact center.A handoff can become a Task.Pre-built integrations plus the Tasks API.Assuming the webhook payload is the task body without reading the task page.[cite:1] [cite:2]
Debug consoleTransaction diagnostics on Connect.The page lists it next to reports and the user audit.Debug console, user audit.Guessing a failed node from the customer’s handset.[cite:1]

Integration edges

FromToMechanismWhat movesCite
External appConnect flow or ruleInbound webhook or custom eventThe event that starts work[cite:1]
ConnectExternal appOutbound webhookReceipts and incoming messages[cite:1]
FlowREST or SOAP systemCustom nodeThe integration call, with service key or JWT[cite:1]
Control HubEmail or Chat assetAsset configuration assigned to a Webex serviceThe channel endpoint[cite:1]
Developer PortalEmail or Chat assetDigital asset APIsThe same class of asset, created by API[cite:1]
AI agent actionConnect flowFulfillment flowThe action the agent is allowed to run[cite:1]
ContactAgentTaskCall, chat session, or email chain. List with cjp:config or cjp:config_read.[cite:2]
Webex CallingWebhook listenertelephony_calls recording eventsrecordingStarting through recordingStopped[cite:3]

Cross-platform bridges

Orientation only. Another vendor’s CPaaS is not these event names.
Webex objectEasy to confuse withWhat to sayCite
Connect Flow BuilderFlow DesignerDifferent products. T8-R01 is the contact-center flow.[cite:1]
Connect Flow BuilderICM scriptNo import. The unpublished ICM rows stay marked in T6-R04.See T6-R04
telephony_callsA call-queue webhookThe cited recording events are telephony_calls. Calling queue coverage is telephony_queue updated. [cite:6][cite:3]
TaskA Connect flow executionA Task is agent work on the contact-center API.[cite:2]

Future-integration hooks

  • The commercial Webhooks guide prints the ceiling cited above. [cite:6] re-check developer.webex.com rather than a community post.
  • Canon planning: a lab that registers one recording webhook and one Connect inbound webhook, with the secrets kept out of the repo.
  • Government Webex developer pages are a different cloud. Do not paste them into this commercial room.

Ecosystem troubleshooting

SymptomLikely sister-system causeCheckFixCite
Tasks API returns 403The token has neither cjp:config nor cjp:config_read.The token’s scopes.Request one of those two scopes.[cite:2]
Recording webhook never fires for a queueThe cited resource is a Webex call recording, and queue coverage is unmarked.Whether the call is a user recording.Stay on the cited events. Do not invent a queue event.[cite:3]
Chat transcript expected inside SalesforceCRM connectors exclude chat and email.Which UI the agent used.Read the digital conversation in Connect or the desktop, not the gadget.[cite:4]

05 · Flow

From an inbound message to a person

StepFromToWhat the page saysCite
1AdminChannel assetPortal, Control Hub for Email and Chat, or Developer Portal APIs.[cite:1]
2External systemConnectInbound webhook or custom event starts a flow or a rule.[cite:1]
3Flow BuilderPublished flowDesign, test, publish. Rules stay the short path.[cite:1]
4Custom nodeREST or SOAPAuthorization is service key or JWT.[cite:1]
5ConnectYour appOutbound webhook: receipts and incoming messages.[cite:1]
6AI agentFulfillment flowAgent actions run Connect flows.[cite:1]
7Contact centerYour appList tasks in a date range with cjp:config or cjp:config_read.[cite:2]
8CallingYour appSubscribe to the recording events on telephony_calls.[cite:3]

06 · Config

What to configure, without a sample secret

  1. Pick the channel from the Connect table before you pick a portal. Email and Chat are the Control Hub pair. Other channels follow the portal docs the page links. [cite:1]
  2. Create a service. Put the asset, the credentials, and either a flow or a rule in that workspace. [cite:1]
  3. For a short notification, use a rule. For a multi-step conversation, use Flow Builder and publish it. [cite:1]
  4. Create an inbound webhook when an external system must start that flow. Create an outbound webhook when you need receipts. [cite:1]
  5. Store a service key or a JWT in Connect’s authorizations. Do not commit either value. [cite:1]
  6. If an AI agent must act, connect the action to a fulfillment flow. [cite:1]
  7. For agent work, call the Tasks API with cjp:config or cjp:config_read. A telephony task is the call, a chat task is the session, an email task is the chain. [cite:2]
  8. For Webex call recordings, subscribe to recordingStarting, recordingStarted, recordingPaused, recordingResumed, and recordingStopped on telephony_calls, scope spark-admin:calls_read. [cite:3]
  9. When you list events for convergedRecordings, send serviceType. [cite:3]
  10. Subscription limits and the Calling queue resource are the Webhooks guide. [cite:6] Use the debug console and the user audit when a flow did not run. [cite:1]
Scopes you may quote
  Tasks:     cjp:config  or  cjp:config_read
  Recording: spark-admin:calls_read
  Events:    telephony_calls
             recordingStarting recordingStarted recordingPaused
             recordingResumed recordingStopped
  List:      resource convergedRecordings requires serviceType

Do not quote
  a subscription maximum
  a call-queue event name
  a sample org id or a sample JWT

Screenshot placeholder. The page is the developer doc, not a tenant capture.

07 · Limits

What is printed, and what is not

ItemValueSourceVerified?
Connect areasSix, listed on the product page[cite:1]Quoted
Tasks scopescjp:config or cjp:config_read[cite:2]Quoted
Recording scopespark-admin:calls_read[cite:3]Quoted
Recording event namesFive recording* names on telephony_calls[cite:3]Quoted
convergedRecordingsserviceType mandatory[cite:3]Quoted
Webhook subscription maximum30000 personal per user; org-wide limit 1, plus more for other resources and filtersWebhooks guideQuoted [cite:6]
Call-queue webhook eventstelephony_queue updated (Calling, not WxCC)Webhooks guideQuoted [cite:6]
Control Hub asset types namedEmail and Chat[cite:1]Other channels use the portal
CRM gadget channelsChat and email excluded[cite:4]Quoted via dyidod
Government webhook catalogDifferent cloudNot usedOmitted on purpose

08 · Troubleshooting

Ten failures that follow from the pages

SymptomLikely causeEvidenceFixCite
A flow never startsNothing calls the inbound webhook or the custom event, or the rule’s trigger does not match.Debug console.Send the event the flow expects.[cite:1]
The short path was built as a 20-node flowRules exist for trigger, condition, and action.Service contents.Use a rule when the page’s split fits.[cite:1]
REST node returns 401Service key or JWT missing on that node.Authorizations.Attach the credential. Do not paste it into the flow label.[cite:1]
Email asset missing in the Connect portalEmail and Chat can be created in Control Hub or by the digital asset API.Where you looked.Check Control Hub and the API, not only the portal list.[cite:1]
Tasks call succeeds and shows nothingThe date range has no open or closed tasks, or the media type is not what you assumed.The range and the channel.Remember chat is a session and email is a chain.[cite:2]
Tasks call is forbiddenWrong scope.Token.cjp:config or cjp:config_read.[cite:2]
recordingStopped arrives and the queue report is emptyThe event is a recording lifecycle event.Resource name.Do not treat it as a queue webhook. Calling queue events are telephony_queue. [cite:6][cite:3]
List events for recordings fails validationserviceType omitted on convergedRecordings.Query string.Send serviceType.[cite:3]
A community post says you get 20 subscriptionsThat number is not in the cited commercial pages.The URL of the post.Leave the cap marked until a developer page states it.[cite:3]
WhatsApp shows in Salesforce and nowhere elseThe CRM connector does not carry chat.dyidod, and the Connect channel table.Open the Connect conversation.[cite:4]

09 · Self-question ladder

Twelve rungs

L1What is Webex Connect?

A programmable CPaaS with APIs, SDKs, and low-code tools, organized as six areas. [cite:1]

L1What is a service?

The workspace for assets, integrations, credentials, flows, and rules. [cite:1]

L2Which assets does the page put in Control Hub?

Email and Chat. Other channels have portal docs. [cite:1]

L2Inbound versus outbound webhook?

Inbound starts a flow or a rule. Outbound delivers receipts and incoming messages. [cite:1]

L2What is a Task?

Agent work. A call, a chat session, or an email chain. [cite:2]

L3Which scopes list tasks?

cjp:config or cjp:config_read. [cite:2]

L3Which recording events can you name?

recordingStarting, recordingStarted, recordingPaused, recordingResumed, recordingStopped, on telephony_calls. [cite:3]

L3What scope do those recording events use?

spark-admin:calls_read. [cite:3]

L4Why is serviceType required?

List Events requires it when the resource is convergedRecordings. [cite:3]

L4Is Flow Builder the same canvas as Flow Designer?

No. Flow Designer is T8-R01. Flow Builder is Connect. [cite:1]

L5Where is the subscription limit?

Webhooks guide, retrieved 2026-10-14: 30000 personal per user, and org-wide limit 1 with extra registrations per resource and filter. [cite:6]

L5Can the Salesforce gadget show the WhatsApp thread?

No. CRM connectors exclude chat and email. Connect holds the digital channel. [cite:4]

10 · Lab

A paper integration, no tokens in the repo

11 · Quiz

Twelve questions

Q1MCQ

How many areas does the Connect page organize?

Answer

How many areas does the Connect page organize: Six. [cite:1]

Q2MCQ

Which pair does Control Hub configure, in that page’s table?

Answer

Which pair does Control Hub configure, in that page’s table: Email and Chat assets. [cite:1]

Q3MCQ

What starts a flow from outside?

Answer

What starts a flow from outside: An inbound webhook or a custom event. A rule can start the same way. [cite:1]

Q4MCQ

What does an outbound webhook carry, in the integration table?

Answer

What does an outbound webhook carry, in the integration table: Delivery receipts and incoming messages. [cite:1]

Q5MCQ

Custom node protocols?

Answer

Custom node protocols: REST or SOAP. [cite:1]

Q6MCQ

A chat Task is what?

Answer

A chat session. An email Task is a chain. A telephony Task is an incoming call. [cite:2]

Q7MCQ

Tasks scopes?

Answer

Tasks scopes: cjp:config or cjp:config_read. [cite:2]

Q8MCQ

Recording event scope?

Answer

Recording event scope: spark-admin:calls_read. [cite:3]

Q9Scenario

You omit serviceType while listing convergedRecordings.

Answer

You omit serviceType while listing convergedRecordings.: The list-events page requires it for that resource. [cite:3]

Q10Scenario

A blog says telephony_calls covers call queues.

Answer

That sentence is not on the commercial recording page. A Calling call queue emits telephony_queue updated, not the recording events on telephony_calls. [cite:3] [cite:6]

Q11Draw

Name Flow Designer, Flow Builder, and an ICM script as three editors.

Answer

Name Flow Designer, Flow Builder, and an ICM script as three editors.: T8-R01, this room’s Connect page, and T6-R04’s marked import. [cite:1]

Q12MCQ

Why is WhatsApp absent from the Salesforce gadget?

Answer

WhatsApp stays on Connect. CRM connectors exclude chat and email, so the Salesforce gadget does not show that thread. [cite:4]

12 · Audio

Slots for Studio

Transcript slot

Studio fills this. The prompt is the spoken outline.

Transcript slot

Studio fills this. The prompt is the spoken outline.

Transcript slot

Studio fills this. The prompt is the spoken outline.

13 · Interview

Oral answers

30 seconds. Connect is the CPaaS. A service holds the channel, the flow or the rule, and the credentials. Inbound webhooks start work. Outbound webhooks report it. A Task is the contact-center’s unit of agent work, with its own scopes.

2 minutes. I name the channel before the API. Email and Chat can be Control Hub or the digital asset API. SMS, WhatsApp, and the rest follow the portal. Flow Builder is not Flow Designer. Rules are the short form. Custom nodes are REST or SOAP with a service key or JWT. AI agent actions use fulfillment flows. I can list the five recording events and spark-admin:calls_read, and I send serviceType with convergedRecordings.

30 seconds, tasks. Telephony is a call, chat is a session, email is a chain. The scope is cjp:config or cjp:config_read.

2 minutes, boundaries. I will not quote a webhook quota from a forum. I will not claim call queues emit telephony_calls until a commercial page says so. I will not read a government developer page into a commercial tenant. Chat lives in Connect, not in the CRM gadget.

What you will not say. You will not paste a sample org id or a JWT. You will not call an ICM script a Connect flow.

14 · Citations

  1. Webex Connect (CPaaS) — developer.webex — developer.webex.com Webex Connect — retrieved 2026-10-14. Six areas. Channel table. Assets via portal, Control Hub, or Developer Portal APIs. Inbound and outbound webhooks, custom events, custom nodes, service key and JWT, Flow Builder, Rules, AI Agent Studio, fulfillment flows, roles, contact policy, reports, debug console.
  2. Tasks Call Control — developer.webex — developer.webex.com tasks call control — retrieved 2026-10-14. A Task is agent work. Telephony is an incoming call, chat is a session, email is a chain. Scopes cjp:config or cjp:config_read.
  3. Call Control — developer.webex — developer.webex.com calling call-control — retrieved 2026-10-14, also cited from T2-R02. telephony_calls recordingStarting, recordingStarted, recordingPaused, recordingResumed, recordingStopped. Scope spark-admin:calls_read. List Events resource convergedRecordings requires serviceType. list events.
  4. Integrate Webex Contact Center with Salesforce (Version 2-New) — help.webex — article dyidod — help.webex.com article dyidod — retrieved 2026-10-14 via T3-R01. Digital channels such as chat and email are not supported with CRM connectors.
  5. Webex Contact Center architecture — help.webex — article utqcm7 — help.webex.com article utqcm7 — retrieved 2026-10-14. Non-telephony flows are chosen in Connect. Flow Designer remains the contact-center flow editor in T8-R01.
  6. Webhooks — developer.webex — developer.webex.com/messaging/docs/webhooks — retrieved 2026-10-14. Personal webhooks: threshold of 30000 per user. Org-wide webhooks: limit of 1, with additional registrations allowed for different resources and filters. The same page lists telephony_queue updated for a Calling call-queue event (added, answered, abandoned, bounced, overflowed, stranded, transferred, or policy applied). That resource is not the recording lifecycle on telephony_calls, and it is not a Webex Contact Center queue. Telephony_calls notifications on this page are for Webex Calling users.
  7. Provision Emergency Calling in Webex Contact Center — help.webex — article nvfbjts — help.webex.com article nvfbjts — retrieved 2026-10-14.

15 · Re-engineer later

  • Open questions: commercial webhook subscription maximum; call-queue event names; the full recording webhook filter table if the moved page is published again.
  • Subscription cap and Calling telephony_queue are cited as of 2026-10-14. WFM shift from Connect stays marked in the sister row, E911 via a Connect webhook.
  • Assets missing: flow screenshot, audio. No tokens.
  • Ideas for v1.0: a redacted webhook registration checklist once a sandbox exists.
  • Next review: re-check the Call Control page if the recording event list changes.

Sources and go deeper

Checked links were opened this month. A confirm row has no address because that page was not opened.

sources.json for this page.