Connectors

Connectors are the bridge between your RCS agent and external data. They allow your agent to fetch information, send data, and perform computations during a conversation flow, so your messages can be dynamic, personalized, and context-aware.

There are two types of connectors: API Connectors and Native Connectors.

API connectors

API connectors call external HTTP APIs to fetch or send data. You configure a connector with a base URL, authentication, and a set of operations (endpoints), then reference those operations from your messages.

  • Define the base URL, authentication type, and default headers
  • Add operations representing the API endpoints you want to call (e.g. GET /orders/:orderId)
  • Create authentication credentials (OAuth 2.0, API Key, Bearer Token, etc.)
  • Reference the connector and operation from any message

API connectors must be created and configured before they can be used in messages.

Learn more about API connectors


Native connectors

Native connectors are built-in data functions that run directly on the platform, no setup required.

  • Math - arithmetic, rounding, min/max, random numbers
  • String - concatenation, splitting, case conversion, find/replace
  • Date - formatting, parsing, date math, comparisons
  • List - filtering, sorting, pagination, aggregation
  • Lodash - deep object access, merging, deduplication
  • Catalog - CSV-based product lookups and proximity search
  • Amazon Location Service - geocoding and reverse geocoding

Native Connectors are available immediately. Simply select one in your message and choose an operation.

Learn more about native connectors


How connectors work in a message

Both connector types are used as operations on a message. Here's what happens when a message with operations is processed:

  1. Operations run first — Each operation calls a connector, and the result is stored under a key you choose (the "context key"). For example, calling an order API might store the result as data.order.
  2. Operations chain — If a Message has multiple operations, they run sequentially. The second operation can use results from the first — e.g. fetch an order, then format the delivery date.
  3. Template renders — After all operations complete, the Message's template renders. It has access to everything stored in data, plus params, input, and user variables. See Template Variables for the full list.

Example

A Message that looks up an order and sends the status:

Operations:

  1. Call order-service connector → get-order operation → store result as data.order
  2. Call Date native connector → format operation → format data.order.deliveryDate → store as data.formattedDate

Template:

Your order #{{ data.order.id }} is {{ data.order.status }}.
Estimated delivery: {{ data.formattedDate }}.

The user sees: "Your order #1234 is shipped. Estimated delivery: April 2, 2026."