We use optional, privacy-safe analytics to understand which pages help visitors. Nothing optional runs until you choose. Privacy policy

Skip to content
API Integration GuideWorkflow + HTTP Request

Send SMS from your CRM through one managed API

CRM SMS integration means your CRM's own events — a lead created, a deal advanced, a case updated — trigger text messages to the right contact, and everything that happens next (delivered, failed, replied) flows back into the CRM as activity.

SendiMessage provides the messaging half as managed infrastructure: dedicated messaging lines provisioned for you, one REST API to send, delivery tracking, incoming replies, and signed webhooks. Your CRM provides the trigger — via its workflow automation, a middleware service, or an automation platform like Zapier or Make.

Because the API is plain JSON over HTTPS, every CRM that can fire a webhook or make an HTTP request can send SMS this way — the vendor pages linked below show the exact mechanism for Salesforce, HubSpot, Zoho, Pipedrive, Dynamics 365, and more.

Request This SetupBook an Integration Review

What this integration enables

Workflow-triggered sends
CRM automation posts to POST /send-message when record conditions match.
Delivery tracking
Each message reports QUEUED → SENT → DELIVERED (or ERROR) — visible via GET /v2/messages and webhooks.
Customer replies
Incoming SMS arrives as receive events for routing to the owning rep.
CRM activity updates
Your handler writes events back to the record timeline, matched via the stored message_handle or the reply's number.
Managed onboarding
The SendiMessage team provisions lines and reviews your workflow before launch.
Per-line pricing
Pricing is per active messaging line, so costs scale with lines, not vendor seats.

Architecture

How it fits together: CRM event, then Workflow or backend, then SendiMessage API, then Managed messaging line, then SMS or supported iMessage, then Customer, then Delivery or reply event, then Signed webhook, then CRM timeline update.
  1. CRM eventA record changes, a stage moves, or a workflow fires
  2. Workflow or backendCRM automation or your middleware prepares the request
  3. SendiMessage APIPOST /send-message — the message is validated and queued
  4. Managed messaging lineYour dedicated line sends the message
  5. SMS or supported iMessageChannel routing picks iMessage where supported, SMS otherwise
  6. CustomerThe message arrives; the customer can reply
  7. Delivery or reply eventSendiMessage records what actually happened
  8. Signed webhookYour endpoint receives outbound or receive
  9. CRM timeline updateYour handler writes the event back as activity

Example request

Workflow payload
{
"number": "{{contact.phone}}",
"content": "Hi {{contact.first_name}}, your appointment is tomorrow at 10:00 AM."
}

Template variables like {{contact.phone}} are illustrative — replace them with your platform's own merge syntax or values resolved by your middleware. Correlate delivery events by storing the returned message_handle on your own record.

Delivery events and incoming replies

The webhook is what turns one-way notifications into CRM-visible conversations: delivery events confirm the send on the timeline, and replies become tasks or activities through your handler.

webhook event
// "outbound" event → your your_crm endpoint
// Verify the SendiMessage-Signature header (t={timestamp},v1=HMAC-SHA256 of
// "{timestamp}.{raw body}", keyed with your webhook secret), then use
// GET /v2/messages/{message_handle} for authoritative state and match it to
// your contact_id in your_crm.

Limitations and honest notes

  • iMessage delivery is available on supported messaging lines and destinations. Recipients without iMessage receive SMS when fallback is configured — never assume universal iMessage availability.
  • Messages are accepted asynchronously — the API returns status QUEUED and final status arrives via webhook or the message endpoints.
  • No official SDK for this ecosystem yet — the example uses plain HTTP against the REST API. Official SDKs are published for JavaScript/TypeScript (npm: sendimessage), Python (PyPI: sendimessage), PHP (Composer: sendimessage/sdk), and Go (github.com/sendimessage/sendimessage-go). Every SDK is dependency-free and covers the full public API surface.
  • Send messages only to recipients who expect them. Transactional and operational messaging is the primary use case — unsolicited bulk marketing is not.

Security considerations

  • API keys belong in the CRM's credential store, middleware secrets, or automation-platform vaults — never in client-side CRM scripts.
  • Verify webhook signatures before writing back to CRM records.

Frequently asked questions

Which CRMs work with SendiMessage?
Any CRM that can make an HTTP request or fire a webhook — directly, through middleware, or via an automation platform. Dedicated guides exist for Salesforce, HubSpot, Zoho CRM, Pipedrive, Microsoft Dynamics 365, Freshsales, Monday Sales CRM, Odoo, and Bitrix24.
Do I need to write code?
Not necessarily. If your CRM's automation can send webhooks (Freshdesk, Freshsales, Zendesk) or you use Zapier/Make/n8n, the whole flow is configuration. Code (middleware) becomes useful for consent logic, retries, and timeline write-backs at scale.
How do replies reach the right salesperson?
Match the reply's sender number (or conversation_handle) against your CRM records to find the contact and its owner, then route the reply — CRM task, email alert, or channel notification. For delivery events, correlate via the stored message_handle or ids embedded in your status_callback URL.
How is this priced?
Per active messaging line, billed monthly, with usage per your agreement — not per CRM seat. The team confirms pricing for your countries and volume during onboarding.

Ready to connect CRM SMS Integration?

Request a messaging line and a SendiMessage integration specialist will review your CRM SMS Integration workflow and guide the setup.