Integrations and connectors

Integrations define the communication channels available on the Newo platform, while connectors are the configured, runnable instances of those integrations that connect an agent to the outside world.

Integration vs connector

Understanding the distinction between an integration and a connector is fundamental to working with the Newo platform.

  • Integration — A channel type that defines a category of external communication. For example, newo_voice is an integration that represents telephone conversations using Newo's native voice system. An integration specifies what settings are available, what events it can emit, and what commands it can receive. Integrations are provided by the platform and cannot be created by users.

  • Connector — A configured, named instance of an integration. A single integration can have multiple connectors, each with its own settings and identifier. For example, a newo_voice integration might have two connectors: sales_line and support_line, each configured with different phone numbers and voice settings. Connectors are created, configured, and managed by users.

Think of it this way: the integration is the blueprint, and the connector is the built, operational instance.

::: 📝 NOTE Every connector belongs to exactly one integration and is uniquely identified by the combination of its integration_idn and connector_idn. This pair is used throughout the platform to route events, target commands, and filter sessions. :::

Integration fields

FieldDescription
idThe unique UUID of the integration
idnThe identifying name (e.g., newo_voice, telegram). Used as the integration_idn throughout the platform
titleA human-readable display name
is_disabledWhether the integration is currently disabled for the account
integration_settings_descriptionsSchema definitions for integration-level settings (shared across all connectors)
connector_settings_descriptionsSchema definitions for per-connector settings
outgoing_events_descriptionsEvents this integration can emit (e.g., user_message, conversation_started)
incoming_commands_descriptionsCommands this integration can receive (e.g., send_message, make_call)

Integration identifier reference

Each integration is identified by a unique idn string. The table below lists all integration identifiers currently available on the platform.

IdentifierTitleCategoryDescription
apiAPIAPI/WebhookAllows third-party applications to interact with agents through Newo's API commands. Supports webhook configuration for receiving events
google_calendarGoogle CalendarProductivityAllows an agent to manage scheduling and appointments through Google Calendar
httpHTTPAPI/WebhookAllows an agent to send generic HTTP/API requests using the send_request command. Responses return through the magic_http_response event
magic_apiMagic APIAPI/WebhookAllows an agent to interact with external APIs through the Magic API bot. Responses return through the magic_api_response event
magic_browserMagic BrowserAutomationAllows an agent to perform automated web browser actions such as searching, making bookings, and setting meetings. Responses return through the magic_browser_response event
newo_chatNewo ChatChatProvides text-only or avatar-based web chat for embedding on websites. Supports the Talking Head feature for visual avatar conversations
newo_smsNewo SMSMessagingAllows an agent to send and receive text messages using Newo's native SMS system
newo_voiceNewo VoiceVoice/TelephonyEnables telephone conversations using Newo's native voice system with SIP/Telnyx support, configurable STT/TTS providers, and voice-to-voice modes
program_timerProgram TimerAutomationAllows setting up programmable timers at defined intervals. Fires the timer event when triggered
sandboxSandboxDevelopmentProvides text communication via the built-in Sandbox chat window for testing and development
telegramTelegramChatAllows an agent to communicate via a Telegram chatbot
twilioTwilioVoice/TelephonyEnables telephone conversations with an agent using Twilio's voice infrastructure
twilio_messengerTwilio MessengerMessagingAllows an agent to send SMS notifications and communicate via text message using Twilio
vapiVapiVoice/TelephonyEnables telephone conversations with additional voice options and more realistic-sounding agent voices

::: 📝 NOTE The system integration identifier also appears in flow event configurations. It is an internal platform integration used for system-level events like session_started and session_ended. It does not appear in the user-facing integrations list. :::

Connector fields

FieldDescription
idThe unique UUID of the connector
titleA human-readable display name
connector_idnThe identifying name for this specific connector (e.g., sales_line)
integration_idnThe identifying name of the parent integration (e.g., newo_voice)
statusCurrent operational state: running or stopped
settingsArray of key-value settings applied to this connector

Connector lifecycle

Creating and managing a connector follows a three-phase lifecycle: create, configure, and activate.

1. Create

To create a connector, provide the parent integration's ID along with the connector data:

POST v1/integrations/{integrationId}/connectors

The request body requires three fields: title (human-readable name), connector_idn (unique identifying name), and settings (initial settings values as an array of idn/value pairs).

The connector_idn must be unique within its integration and follow Newo's identifying name conventions (lowercase, underscores, no spaces).

::: 💡 NOTE When creating a connector through the Integrations page in the Newo Builder UI, the platform automatically runs the connector after creation. Through the API, creation and activation are separate steps. :::

2. Configure

Both integrations and connectors have two levels of settings:

  • Integration-level settings — Shared across all connectors of that integration. For example, a Twilio integration might require account_sid and auth_token at the integration level. These are configured via:
POST v1/integrations/{integrationId}/settings
  • Connector-level settings — Specific to a single connector instance. For example, a voice connector might have settings for phone number, STT provider, and TTS provider. These are configured via:
POST v1/integrations/connectors/{connectorId}/settings

Each setting has two fields: idn (the setting identifier) and value (the setting value).

The available settings for each level are defined by the integration's integration_settings_descriptions and connector_settings_descriptions arrays. Each description entry (ISettingPreset) includes metadata such as the control type, value type, whether the field is required, and its possible values.

3. Activate

Once created and configured, a connector must be started before it processes events:

POST v1/integrations/connectors/{connectorId}/run

A running connector can be paused at any time:

POST v1/integrations/connectors/{connectorId}/stop

The connector's status field reflects its current state as either running or stopped. Only running connectors receive and emit events.

Deleting a connector

A connector can be removed entirely:

DELETE v1/integrations/connectors/{connectorId}

How integrations relate to events and flows

Integrations, connectors, events, and flows form a connected pipeline that drives agent behavior.

Event subscriptions

A flow's event subscriptions determine which incoming events trigger which skills. Each event subscription can be scoped to a specific integration and connector:

events:
  - idn: user_message_event
    skill_idn: HandleUserMessage
    integration_idn: newo_chat
    connector_idn: website_chat
    interrupt_mode: queue

In this example, the user_message_event subscription is configured so that only user_message events arriving through the newo_chat integration's website_chat connector will trigger the HandleUserMessage skill.

When integration_idn is set to null, the event subscription matches events from any integration. Similarly, when connector_idn is null, it matches events from any connector within the specified integration.

Event and command routing

Each integration declares the events it can emit and the commands it accepts. This relationship works in two directions:

  • Inbound (events): When a user sends a chat message, the newo_chat integration emits a user_message event. The flow engine matches this event against subscriptions and dispatches it to the appropriate skill.

  • Outbound (commands): When a skill needs to send a reply, it uses a SendCommand action targeting a specific integration and connector. For example, sending an HTTP request uses the send_request command on the http integration.

The integration_idn/connector_idn pair acts as a routing address throughout the system. This pair appears in event data, command targets, session metadata, and analytics filters.

Channel mapping

For customer-facing applications, integrations map to broader channel categories:

ChannelIntegration identifiers
Chatnewo_chat, telegram
Phonenewo_voice, vapi
SMStwilio_messenger

This mapping is used for session filtering, analytics grouping, and portal-level channel configuration.

Cross-references

  • See Integration Identifier List for the complete reference of all integration identifiers
  • See Event Identifier List for all event identifiers that integrations can emit
  • See Command Identifier List for all command identifiers that integrations accept
  • See Flow for how event subscriptions connect integrations to agent logic