Integration

Sonar integration

Sonar (Marchex Sonar, sendsonar.com) is a business text messaging platform. Send SMS and MMS messages and campaigns (plain or personalized, now or scheduled), add or update customers and their custom properties, look a customer up by phone, email or id, close or unassign a conversation, attach or cancel follow-ups, send a double opt-in prompt, tag messages, record conversion events, read a conversation's messages, manage webhooks, users (invite, list) and custom roles. Creating new Sonar sub-accounts (which returns their tokens) and the GDPR personal-data export and erasure routes are not exposed. Authentication is the account's private token from Company Settings, sent in the X-Token header.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Sonar.Built from the 24 Sonar tools below, on the connection you add once.

What you can do with Sonar

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Customer, 4 operations

  • close_customerClose customerPOSTCloses the open conversation of a customer, given the phone number.
  • get_customerGet customerGETReturns one customer by phone number (required by the vendor; email or customer_id also accepted): name, subscription and double opt-in state, properties, assignee, assigned company number, teams.
  • unassign_customerUnassign customerPOSTRemoves the assigned team member from a customer, given the phone number.
  • upsert_customerUpsert customerPOSTAdds a customer or updates the one with this phone number (the unique key): name, email, custom properties, picture, subscription, assignee, zip code, time zone, external id.

Webhook, 4 operations

  • create_webhookCreate webhookPOSTCreates a webhook: Sonar calls url with http_method when the events turned on in settings happen. Send {"webhook": {name, active, settings, url, http_method}}.
  • delete_webhookDelete webhookDELETEDeletes a webhook.
  • list_webhooksList webhooksGETLists the webhooks of the account with their events (settings), URL and HTTP method.
  • update_webhookUpdate webhookPUTUpdates a webhook: send {"webhook": {...}} with any of name, active, settings, url, http_method; fields left out keep their values.

User, 3 operations

  • get_userGet userGETReturns one team member: role and whether the invitation was accepted.
  • invite_userInvite userPOSTInvites a team member to the account by email; Sonar emails the invitation. Without role_id the user gets the member role.
  • list_usersList usersGETLists the team members (users) of the account with their role and whether they accepted their invitation.

Campaign, 2 operations

  • send_campaignSend campaignPOSTSends a campaign to one phone number now, or at send_at (ISO 8601). The campaign must be marked Ready to send; status queued means it will go out, unsubscribed means it will not.
  • send_personalized_campaignSend personalized campaignPOSTSends a campaign to one phone number with per-customer data (name, time zone, zip code, custom properties) that the campaign message can use. Sends immediately.

Follow up, 2 operations

  • attach_follow_upAttach follow upPOSTAttaches a follow-up (a scheduled series of messages configured in Sonar) to a customer, which starts its messages. Cancel it with remove_follow_up.
  • remove_follow_upRemove follow upDELETECancels a follow-up attached to a customer.

Role, 2 operations

  • create_roleCreate rolePOSTCreates a custom role with a set of permissions. Needs Custom Roles & Permissions enabled on the account.
  • list_rolesList rolesGETLists the custom roles of the account with their permissions and user counts. Answers 403 when Custom Roles & Permissions is not enabled on the account.

Conversation, 1 operation

  • get_conversationGet conversationGETReturns a conversation with its messages and the customer it was held with. Conversation ids come in webhook payloads (new assigned or unassigned message, tag added, customer state change).

Customer property, 1 operation

  • delete_customer_propertyDelete customer propertyDELETEDeletes one custom property from a customer identified by phone number or email.

Double opt in, 1 operation

  • send_double_opt_in_promptSend double opt in promptPOSTSends the account's Double Opt-In prompt message (configured in Sonar settings) to a customer phone number.

Event, 1 operation

  • record_eventRecord eventPOSTRecords a conversion event for a customer identified by phone number or email, with a name and value in event_properties. event_type must be conversion.

Message, 1 operation

  • send_messageSend messagePOSTSends an SMS (text) or MMS (media_url image or VCF) to a phone number; an unknown number creates a customer. status queued means sent within seconds, unsubscribed means not sent.

Message tag, 1 operation

  • tag_messageTag messagePOSTAppends an existing tag to a message, given the message's external_message_id from an outbound, new assigned or new unassigned message webhook.

Phone number, 1 operation

  • get_available_phone_numberGet available phone numberGETReturns the company phone number currently available to text from. Needs the account publishable key in X-Publishable-Key.

Use Sonar from Claude Code, Cursor or Codex

Connect Sonar in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Sonar operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Sonar

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Sonar once

    Add your Sonar connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Sonar integration FAQ

What can you do with the Sonar integration?

LiveContext exposes 24 operations on Sonar, covering customer, webhook, user and campaign.

Popular integrations

Browse the whole catalog