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

Skip to content
Guide AvailableAutomation Platform

Send SMS and supported iMessage messages from Zapier

Zapier connects thousands of apps with trigger→action Zaps, and its built-in 'Webhooks by Zapier' action makes any REST API — including SendiMessage — an action step without waiting for a directory app.

Build the Zap with your real trigger (new HubSpot contact, new Calendly booking, updated Pipedrive deal), then add a Webhooks by Zapier 'Custom Request' action: POST to the send-message endpoint, the X-API-Key / X-API-Secret pair in the headers, and a JSON body mapped from trigger fields. The queued response comes back into the Zap for downstream steps. For the reverse direction, a 'Catch Hook' trigger URL becomes your SendiMessage webhook endpoint, turning delivery events and replies into follow-up actions.

Request This SetupBook an Integration Review

What this integration enables

CRM triggers without code
Bridge CRM record changes to messaging with a Zapier scenario instead of middleware.
Form and lead follow-up
New form submissions get a confirmation or next-step message.
E-commerce notifications
Order events from your store platform become customer updates.
Reply routing
SendiMessage webhooks trigger Zapier flows that write replies into your CRM or helpdesk.

Implementation options

Webhooks by Zapier (Custom Request)
Configure the request: POST https://api.sendimessage.com/v1/send-message, X-API-Key and X-API-Secret headers from the platform's credential store, and a JSON body mapped from trigger data.
Webhook trigger for events
Give SendiMessage a Zapier webhook URL as your event endpoint, and delivery/reply events start flows that update your other systems.

Architecture

How it fits together: Zapier 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 Zapier timeline update.
  1. Zapier eventA record changes, a stage moves, or a workflow fires
  2. Workflow or backendZapier 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. Zapier timeline updateYour handler writes the event back as activity

Example request

HTTP action body
{
"number": "{{trigger.phone}}",
"content": "Hi {{trigger.first_name}}, your appointment is tomorrow at 10:00 AM.",
"status_callback": "https://your-endpoint.example.com/status?record_id={{trigger.id}}"
}

Map the {{…}} placeholders from your Zapier trigger data — the syntax shown is illustrative. status_callback is optional: it receives this message's delivery events, and because you compose the URL you can embed your own record id for correlation. Store the returned message_handle for the same purpose.

Delivery events and incoming replies

Use a Zapier webhook trigger as your SendiMessage event endpoint: delivery confirmations and incoming replies then start flows that update the CRM, notify a channel, or open a ticket.

webhook event
// "outbound" event → your zapier 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 record_id in zapier.

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.
  • A published SendiMessage app in the Zapier directory is not available today — the integration uses Webhooks by Zapier (Custom Request), which is fully supported.

Security considerations

  • Store the API key in Zapier's credential/connection store, not in plain text fields inside scenarios.
  • Restrict who can edit flows that send customer messages.
  • Keep phone numbers and message content out of run logs where the platform allows it.

Frequently asked questions

Is there a SendiMessage app in the Zapier directory?
Not yet — statuses on this site only claim a published app when one has actually shipped. Webhooks by Zapier (Custom Request) works today with the configuration on this page, and it exposes the full API.
What does a successful send look like?
The API responds with status "QUEUED" plus a message_handle you can store for correlation. Treat non-2xx responses as failures in your flow's error path.
Can flows react to delivery and replies?
Yes — register a Zapier webhook URL as your SendiMessage event endpoint, and outbound / receive events become flow triggers.
Which Zapier plan do I need?
Webhooks by Zapier is a premium built-in app, so a paid Zapier plan is required for the HTTP action. Catch Hook triggers are available on the same plans.

Ready to connect Zapier?

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