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

Connect your CRM to supported iMessage messaging

CRM iMessage integration means CRM-triggered messages can arrive as iMessage — blue-bubble, high-engagement, reply-friendly — for recipients where that's possible, without your team managing any Apple-side infrastructure.

Use SendiMessage to connect CRM events to managed messaging lines, deliver iMessage where supported, fall back to SMS when configured, receive customer replies, and return events to your CRM through webhooks.

The honest mechanics matter: iMessage delivery is available on supported messaging lines and destinations. Recipients without iMessage receive SMS when fallback is configured — never assume universal iMessage availability. Routing is automatic — no channel parameter to set: SendiMessage delivers over iMessage where the destination supports it, and the webhook's service field reports what was actually used, so your CRM timeline always reflects reality.

Request This SetupBook an Integration Review

What this integration enables

Automatic channel routing
Each message uses iMessage where supported, SMS otherwise — no channel parameter needed.
SMS fallback
Eligible failures fall back to SMS before confirmed delivery, when configured on the line.
Reply-friendly conversations
iMessage recipients reply naturally; replies return as webhook events.
Channel visibility in the CRM
The service used (imessage or sms) is recorded per message — log it on the timeline for accurate history.
Pricing and onboarding
Per-line pricing; the team confirms supported destinations for your markets during managed onboarding.

Architecture

How it fits together: CRM event, then CRM workflow or backend, then SendiMessage routing, then iMessage delivery, then SMS fallback, then Customer reply, then Signed webhook, then CRM timeline update.
  1. CRM eventA record changes or a workflow fires
  2. CRM workflow or backendPosts to POST /send-message
  3. SendiMessage routingSelects iMessage where supported for the destination
  4. iMessage deliveryOn supported lines and destinations
  5. SMS fallbackFor recipients where iMessage isn't available, when configured
  6. Customer replyArrives on either channel
  7. Signed webhookDelivery events post back; history rows carry the channel actually used
  8. CRM timeline updateYour handler records the event with the real channel

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's service field tells your CRM what actually happened — "imessage" or "sms" — so timelines, reporting, and follow-up logic work from facts, not assumptions.

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.
  • Not every contact supports iMessage — plan copy and workflows so SMS delivery reads equally well.
  • iMessage availability depends on the line configuration and destination; the team confirms coverage for your markets during onboarding.
  • Send messages only to recipients who expect them. Transactional and operational messaging is the primary use case — unsolicited bulk marketing is not.
  • Official SDKs are published for JavaScript/TypeScript, Python, PHP, and Go; any other stack integrates via the plain REST API.

Security considerations

  • Same rules as every CRM integration: server-side keys, verified webhook signatures, minimal contact data in payloads.

Frequently asked questions

Does every contact get iMessage?
No. iMessage delivery is available on supported messaging lines and destinations. Recipients without iMessage receive SMS when fallback is configured — your webhook reports which channel was used.
Can HubSpot or Salesforce trigger iMessage?
They trigger a plain send through their workflow automation; SendiMessage decides iMessage vs SMS per recipient. The CRM never needs Apple-specific logic.
How do I know which channel was used?
The message record and the delivery webhook both carry the service field (imessage or sms). Log it to the CRM timeline for accurate conversation history.
Is Apple involved in this integration?
iMessage is a trademark of Apple Inc. SendiMessage is not affiliated with or endorsed by Apple Inc. — iMessage here describes the delivery channel available on supported lines.

Ready to connect CRM iMessage Integration?

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