Skip to content

Integrations

Log calls and use click-to-call with cloud telephony

Connect Twilio Voice, Exotel or a generic IVR webhook to log calls on leads, create leads from missed calls and place click-to-call calls from a lead.

Last updated 5 min read

Telephony integrations tell Leadnote about the calls your team makes and receives. Each call is added to the lead's history, and unknown callers can become new leads. You can also start a call from a lead with click-to-call. Account Owners and Managers set this up on the IVR / Cloud Telephony page of the integrations hub.

Choose a provider

Provider Call logging Click-to-call Notes
Twilio Voice Yes Yes Requests are verified with Twilio's signature header and your auth token.
Exotel Yes, marked Draft Yes Callback field names are unconfirmed.
Knowlarity, Ozonetel, MyOperator Yes, marked Draft No Callback field names are unconfirmed.
Other IVR / telephony (webhook) Yes No Any provider that can post call events to a web address.

Connect an account

  1. Open the integrations hub and, under IVR/ Cloud Telephony, choose your provider's card, such as Exotel or Twilio Voice. Every telephony card opens the same IVR / Cloud Telephony page. Open Connection.
  2. Choose your provider and fill in its fields.
    • Exotel: Account SID, API key, API token, Caller ID (Exophone), API host (default api.exotel.com) and the list for new callers.
    • Twilio Voice: Account SID, Auth token, Twilio number and the list for new callers.
    • Other IVR / telephony (webhook): an account name and the list for new callers.
  3. Save the account. The page now shows a Callback URL with the method to use.
  4. Paste the callback URL into your provider.
    • Exotel: your call flow's Passthru applet, or the status callback of your ExoPhone.
    • Twilio Voice: your number's Voice setting for call status changes, or your TwiML app.
    • Others: wherever the provider asks for a call event or CDR address.
  5. Make a test call and look at the Recent calls tab.

Treat the callback URL as a password. If it leaks, choose Rotate callback URL. The old address stops working at once, so paste the new one into your provider.

For the generic webhook, send the call as JSON, form fields or a query string, using the names call_id, from, to, direction, status, duration and recording_url. You can add started_at, ended_at and agent.

What Leadnote does with a call

  • The customer is the caller on an inbound call and the dialled number on an outbound call.
  • Statuses become answered, missed, busy, failed or voicemail. An inbound call that completed with a duration of 0 counts as missed. Ringing, queued and in-progress updates are acknowledged and ignored.
  • The call is matched to a lead by the last 10 digits of the number. So +919876543210, 09876543210 and 9876543210 find the same lead. A match adds the call, with direction, status, duration and recording link, to the lead's history. Only https recording links are kept.
  • The same call id and status is processed once, so a provider that re-sends a callback never creates a second lead or note.

Decide when a lead is created

On the account, open Call handling and set Create a lead when:

Switch Default Result
Create a lead from a missed call On An unknown caller who was not answered becomes a lead tagged missed-call.
Create a lead from an answered call by an unknown number On An unknown caller who spoke to an agent becomes a lead.
Create a lead from an outbound call to an unknown number Off Off because agents often call people who are not prospects.

New leads go to the list you chose for new callers. Choose Save call settings to keep your choices.

Limit who can send callbacks

  • Allowed source addresses: add IPv4 or IPv6 addresses or ranges such as 203.0.113.0/24. When the list has entries, callbacks from other addresses are rejected and shown in the Activity log. Leave it empty to accept any address.
  • Shared secret (optional): your provider sends it in the x-leadnote-secret or x-webhook-secret header, as a bearer token or as ?secret= on the callback URL. Callbacks without it are rejected. It is stored encrypted and cannot be read back. Remove it to accept callbacks without a secret again.

Recent calls

The Recent calls tab shows what each callback did: Lead created, Added to lead, Duplicate, Skipped or Rejected, with a link to Open lead. The Activity log keeps the full history, including rejected requests.

Click-to-call

Click-to-call rings the agent first, then connects the lead. It works with Exotel and Twilio Voice.

Before you start:

  1. Connect an Exotel or Twilio Voice account.
  2. The agent needs a mobile number under My Profile. Leadnote rings that number.
  3. The lead needs a valid phone number.

Then open the lead in the web app and choose the headset button next to the phone number. Your phone rings first, and when you answer the lead is connected. Leadnote adds a "Call initiated" note to the lead. The button shows only for people who can open Integrations, so by default for Account Owners and Managers. Everyone else sees a normal phone link.

For which leads a person can open, see lead visibility rules.

Frequently asked questions

What is the difference between logging calls and click-to-call?

Logging means your telephony provider tells Leadnote about each call, so it appears on the lead. Click-to-call means Leadnote asks the provider to ring you first and then connect the lead.

Which providers support click-to-call?

Exotel and Twilio Voice. The other providers on the page only log calls.

Why did a call from a number I know not match the lead?

Leadnote matches on the last 10 digits of the number. If the number on the lead has fewer digits, or a different number, it will not match.

Is the callback address a secret?

Yes. The token in the address is the credential. If it leaks, choose Rotate callback URL and paste the new address into your provider.