Skip to main content

Start with the right integration

The REST Integrations API reads or changes workspace resources from your server using x-api-key. Webhooks send events from Bridge to your receiver. Custom Connections registers leads from a landing page using its separate public endpoint, captureKey, and reCAPTCHA. An API Key is a server-side secret. A Custom Connections captureKey is designed to be in the landing page. These values are not interchangeable. See Authentication and Custom Connections.

People, Agents, and lines

  • A Contact is the external person your business communicates with. Contact endpoints and external conversation participants refer to this person.
  • A Bridge User is an internal human user. Internal-user lookup and handoff assignees refer to these users.
  • An Agent is an automated Agent exposed by the Agents API. Its type is LEADSCOUT or SERVICE_AGENT; it has its own identifier, availability, and lines.
  • A provider is a channel type, such as WHATSAPP. A line is a specific channel used for a conversation. A provider type, phone number, and providerChannelId are different values.
  • A workspace scopes the request. A brand is another identifier used where the operation requires or accepts it; it is not a workspace or a line.
A Contact’s ownerId refers to a Bridge User, not an automated Agent. Resolve it with the internal-user read endpoint.

Where each identifier comes from

Use identifiers from the intended workspace. Do not reuse an identifier merely because the same phone number, email, or name appears in another workspace.
Agents lists expose line IDs in the context of each Agent. This is not a general discovery method for every workspace line. If another flow requires a providerChannelId you cannot obtain from the published response, ask your Bridge administrator or support for the intended line ID. Do not generate one or derive one from a telephone number.

Similar names can require different fields

Contact lookup takes query parameters named type and value. An external participant in a conversation takes identifier and identifierType, plus the other fields required by that operation. Do not copy a lookup query directly into a participant body. Template discovery accepts an ID or name in the path parameter {templateId}. Conversation onboarding uses onboardingTemplates[].templateId. Outbound template selection uses the template object’s id or name; read that endpoint’s schema rather than renaming every selector to templateId. Use each returned variable’s key in template parameters. Variable keys are not Meta slot indexes. The template parameters guide explains required values, defaults, and the difference between omitted and blank values.

Keep result identifiers separate

Follow Receive events for event identity and duplicate handling. See Responses and errors for status codes, asynchronous results, and retry decisions. For a complete flow, follow your first conversation or sending an attachment.