helpZapier

OnSync’s Zapier integration gives you a no-code bridge into 6,000+ apps so you can sync contacts, send proactive messages, and keep CRMs updated in real time. Everything runs on one API key tied to your workspace, so security stays tight while teams move fast.

You only need the OnSync Zapier API key. Zapier never asks for your workspace URL.

Current surface area: Contact Created trigger, New Message trigger, Create Contact action, and Send WhatsApp Message action. More events ship here first before they appear in the product changelog.

Prerequisites

  • At least one channel (WhatsApp, Instagram, Facebook, or Telegram) configured inside Settings → Channels.
  • For automated outbound messages on WhatsApp, ensure you have Approved Templates in your Meta/WhatsApp dashboard.
  • An Admin or Owner role to generate or rotate Zapier keys.
  • Agreement on who owns automation QA—Zapier tasks will count against your plan immediately after activation.

Step 1: Generate your Zapier key

  1. Open Settings → Integrations → Zapier inside OnSync.
  2. Click Generate key. Keys are scoped per workspace; rotating one does not break other environments.
  3. Copy the value to a vault such as 1Password. Only share with teammates who maintain Zaps.
  4. Toggle Enable integration so requests authenticated with the key are accepted.

Step 2: Connect the OnSync app

  1. In Zapier, search for OnSync and choose Connect a new account.
  2. Paste the API key when prompted. Zapier sends a quick /zapier/auth request to confirm the workspace is active.
  3. Rename the connection (for example, OnSync · Production) so other builders know which org they are targeting.

Step 3: Build, test, and publish

  1. Drop OnSync – Contact Created into your trigger step. Use Test trigger to pull a live contact and confirm field mapping.
  2. When sending outbound messages, add a short delay (1–2 minutes) so Smart Triggers inside OnSync can acknowledge the conversation before Zapier follows up.
  3. For Send WhatsApp Message actions, you can pick an approved template from the WhatsApp Template dropdown.
  4. If your template has placeholders (e.g., {{1}}), enter the values in the Template Variables field as a comma-separated list (e.g., John, Order #12345).

Lead Follow-up

Trigger: New Form Submission (Google Forms/Typeform)
Action: Send WhatsApp Message in OnSync
Automatically send a welcome WhatsApp message the moment a lead submits their info.

Order Notifications

Trigger: New Order (Shopify/WooCommerce)
Action: Send WhatsApp Message in OnSync
Send instant order confirmations or shipping updates directly to your customer’s WhatsApp using an approved template.

CRM Sync

Trigger: New Contact in OnSync
Action: Create Person in Pipedrive/HubSpot
Keep your CRM updated automatically as soon as someone messages you on social channels.

Available triggers

TriggerWhat it doesCommon destinations
New ContactFires when a contact is added manually, through an import, via campaigns, or through the API.HubSpot, Airtable, Sheets, CRMs
New MessageFires when you receive a new incoming message from a customer.Zendesk, Slack, Email, CRMs

Available actions

ActionRequired fieldsNotes
Create ContactphoneDeduplicates by phone. You can pass names and tags.
Send WhatsApp Messagephone, message OR templateNameSupports standard text or official WhatsApp Templates.

Field mapping tips

  • Always send E.164 formatted phone numbers (+15551234567) so the OnSync inbox associates the message with an existing profile.
  • When using WhatsApp Templates, the dropdown will show you approved templates only. If a template is missing, click “Refresh fields” in Zapier.
  • Use Template Variables to personalize messages. If your template is Hi {{1}}, your {{2}} is ready, entering Sara, Appointment will result in Hi Sara, your Appointment is ready.

API reference for Zapier actions

ItemValue
REST endpointPOST https://app.onsync.com/api/zapier/actions/send-message
AuthenticationAuthorization: Bearer <Zapier API Key> or ?apiKey=<Key>
Rate limit1,000 requests / hour / workspace
POST /api/zapier/actions/send-message HTTP/1.1
Authorization: Bearer onsync_zapier_pk_live_xxx
Content-Type: application/json
 
{
  "phone": "+971500000000",
  "templateName": "welcome_message",
  "templateVariables": "Lama, OnSync",
  "message": "Fallback text if template fails"
}

Successful responses include the OnSync contact ID plus deduplication metadata so you can chain it to other Zapier steps (CRM, Sheets, Slack).

Sample payloads

Contact Created trigger

{
  "id": "contact_01J6W7G8",
  "firstName": "Sara",
  "lastName": "Hussein",
  "phone": "+971500000000",
  "email": "sara@example.com",
  "channel": "instagram",
  "tags": ["lead", "Dubai Expo"],
  "properties": {
    "source": "Lead form",
    "language": "ar"
  },
  "orgId": "org_123",
  "createdAt": "2024-12-01T10:00:00.000Z"
}

Create Contact action

{
  "firstName": "Sara",
  "lastName": "Hussein",
  "phone": "+971500000000",
  "email": "sara@example.com",
  "tags": ["Lead", "Expo"],
  "properties": {
    "source": "Landing page",
    "language": "ar"
  }
}

Testing & QA workflow

  1. Build using a staging WhatsApp number or a limited audience tag.
  2. Use Zapier’s Test button once, then switch the Zap to Off until you verify messages and contacts in OnSync’s activity log (/app/activity).
  3. Tag the conversation with automation-zapier (or your naming convention) so operators can see which flows touched the thread.
  4. Log your test run inside the Zapier QA checklist if you need an audit trail for compliance.

Troubleshooting

SymptomLikely causeFix
401 UnauthorizedKey revoked or disabled in OnSyncGenerate a new key, update the Zapier connection, and rerun the test.
Contact missing custom fieldsNested object not passed as JSONWrap custom fields inside properties and ensure Zapier sends it as a dictionary, not text.
Message sends but customer never repliesMessenger/Instagram/Telegram channel not fully configuredValidate channel credentials in Settings → Channels and send a manual test before re-running the Zap.
Duplicate contactsForm submits multiple timesMap a unique external ID (for example, CRM ID) to properties.externalId and enable dedupe conditions inside the Zap.

Need QA help or a custom trigger? Email success@onsync.com or book an automation workshop and the OnSync team will co-build it with you.