Skip to main content

Integration FAQs

Common questions about integrating Exotel with CRMs, helpdesks, marketing platforms, and custom applications.


What CRMs and tools does Exotel integrate with?​

Exotel provides native integrations with the following platforms:

PlatformIntegration TypeFeatures
Zoho CRM / BiginNative pluginClick-to-call, call logging, screen pop
Zoho DeskNative pluginCall routing, ticket creation, call recording
SalesforceNative pluginClick-to-call, call logging, secure recording
FreshdeskNative pluginCall handling, ticket integration
FreshsalesNative pluginClick-to-call, call logging
FreshchatNative pluginVoice + chat integration
HubSpotNative pluginClick-to-call, contact sync
LeadSquaredNative pluginLead management, click-to-call
ShopifyNative pluginOrder notifications, customer calls
CleverTapSMS integrationTriggered SMS campaigns
WebEngageSMS integrationAutomated messaging workflows
MoEngageSMS integrationCustomer engagement SMS

For setup guides, see the Integrations documentation.


Can I integrate Exotel with my custom application?​

Yes. Exotel provides RESTful APIs for all communication features. You can integrate any custom application using:

  • Voice API -- Make calls, manage call flows, handle recordings
  • SMS API -- Send individual and bulk SMS
  • WhatsApp API -- Send template and interactive messages
  • Webhooks -- Receive real-time event notifications
  • Campaign API -- Create and manage outbound campaigns

All APIs use standard HTTP with JSON payloads and Basic authentication.

API Reference: See Authentication & Security for API setup.


How do webhooks work in Exotel?​

Webhooks are HTTP POST requests sent from Exotel to your server when specific events occur. They provide real-time notifications without polling.

Webhook Flow​

Event occurs (e.g., call completed)
--> Exotel sends HTTP POST to your webhook URL
--> Your server processes the payload
--> Your server returns HTTP 200

Configuring Webhooks​

Webhooks can be configured at multiple levels:

LevelConfiguration LocationEvents
Account-levelDashboard > Settings > WebhooksDefault callbacks for all calls
ExoPhone-levelDashboard > ExoPhones > ConfigurePer-number callbacks
API call-levelStatusCallback parameter in API requestsPer-call callbacks
Campaign-levelCampaign creation APICampaign and call status events

Webhook Best Practices​

  1. Return HTTP 200 within 5 seconds to acknowledge receipt
  2. Process webhook data asynchronously (queue the payload, respond immediately)
  3. Implement idempotency using CallSid or SmsSid as unique keys
  4. Use HTTPS endpoints to protect webhook data in transit
  5. Log all incoming webhook payloads for debugging
warning

If your webhook endpoint consistently returns non-200 responses or times out, Exotel may stop sending webhooks to that URL. Monitor your endpoint's health and error rates.

API Reference: See Webhooks Reference for complete payload specifications.


Can I integrate Exotel with Zapier or other no-code platforms?​

Exotel does not have a native Zapier app, but you can integrate using Zapier's webhook trigger:

  1. Create a Zap with the Webhooks by Zapier trigger (Catch Hook)
  2. Copy the Zapier webhook URL
  3. Set this URL as your Exotel webhook callback
  4. Map the Exotel webhook fields to your desired actions in Zapier

This approach works with any no-code platform that supports incoming webhooks (Zapier, Make/Integromat, n8n, etc.).


Can I integrate two Exotel accounts with one CRM instance?​

No. Native CRM integrations follow a one-to-one mapping: one Exotel account per CRM instance. If you need to connect multiple Exotel accounts, you will need separate CRM instances or a custom API-based integration.


My CRM integration is not logging calls. What should I check?​

Follow this troubleshooting checklist:

CheckHowFix
Integration is activeDashboard > IntegrationsRe-enable if disabled
User mappingCRM user phone matches Exotel user phoneUpdate phone numbers to match
Webhook URL is reachableTest URL with curl or PostmanFix firewall or DNS issues
Account names matchNo blank spaces in configurationRemove extra spaces
API credentials are validTest with a basic API callRegenerate token if expired
KYC is completeDashboard > Settings > KYCComplete verification

How do I set up click-to-call in my CRM?​

Click-to-call allows CRM users to initiate calls directly from contact records:

  1. Install the Exotel integration plugin for your CRM
  2. Configure API credentials (API key, token, Account SID)
  3. Map CRM users to Exotel agent phone numbers
  4. Enable click-to-call in the integration settings
  5. Users can now click phone numbers in the CRM to initiate calls

The call flow for click-to-call:

  1. Exotel calls the agent's phone first
  2. Once the agent answers, Exotel calls the customer
  3. Both parties are connected
  4. Call details and recording are logged in the CRM

Can I receive real-time call notifications in Slack or Teams?​

Yes, using webhooks. Configure Exotel webhooks to send to a middleware that forwards notifications to Slack or Microsoft Teams:

Option 1: Direct Slack webhook

  1. Create a Slack incoming webhook URL
  2. Build a middleware endpoint that receives Exotel webhooks and formats them for Slack
  3. Set the middleware URL as your Exotel callback

Option 2: Using a no-code platform

  1. Use Zapier, Make, or n8n as middleware
  2. Trigger on Exotel webhook
  3. Action sends a formatted message to Slack or Teams

How do I integrate Exotel with my IVR or call routing system?​

Exotel's Passthru applet enables real-time integration with external systems during a call:

  1. Add a Passthru applet to your call flow in App Bazaar
  2. Configure it to send an HTTP request to your server
  3. Your server processes the call data and returns routing instructions
  4. Exotel routes the call based on your server's response

This allows dynamic call routing based on CRM data, customer history, agent availability, or any custom logic.


What data formats does Exotel use?​

Data TypeFormat
API requests/responsesJSON
AuthenticationHTTP Basic Auth (API key:token)
TimestampsRFC 3339 (e.g., 2024-02-01T10:00:00+05:30)
Phone numbersE.164 (e.g., +919876543210)
Webhook payloadsForm-encoded or JSON (configurable)
CSV uploadsUTF-8 encoded, comma-delimited

How do I test integrations before going live?​

  1. Use a trial account: Test with limited credits before production
  2. Use test phone numbers: Call your own numbers to verify call flow and webhook delivery
  3. Check webhook payloads: Use tools like webhook.site or ngrok to inspect incoming webhooks
  4. Verify CRM logging: Make test calls and confirm data appears in your CRM
  5. Test error handling: Simulate failures (invalid numbers, network errors) to verify your error handling

See Testing Guide for a comprehensive testing checklist.