Kixie Webhooks (And How to Log Calls & SMS in non-native CRMs?)

Alex Mann Alex Mann

On the Professional plan, webhooks are a great way to push your Kixie account's call & SMS data into other applications that you use, in order to increase your team's efficiency and improve your processes. Many customers utilize Kixie's webhooks to log calls and SMS messages into CRMs we don't natively offer an integration.

After enabling Kixie's webhook for Voice and/or SMS, Kixie automatically sends your call and/or SMS data to the webhook destination that you specify, after the call/SMS has been completed.

To input webhook endpoint URLs with your Kixie manager/admin account, please navigate to Kixie.com->manage->webhooks.

The data comes to you in the following formats:

Phone Call Webhook Data

  • call status (answered or missed)
  • Call Duration in Seconds
  • Unique Call Identifier
  • call's total cost (in USD)
  • from: number
  • CRM Contact ID
  • CRM Link - Dependent on CRM
  • Call Disposition/ Call Outcome
  • to: number
  • first name, last name and email address of the Kixie user that made the call
  • call recording URL
  • CRM URL (where Kixie pushed the call into your CRM)

Phone Call Example Payload Data

{
  "data": {
    "callDetails": {
      "callid": "629665a2-fef1-4e52-b430-6e37b2f0e204",
      "businessid": 21594,
      "calldate": "2023-03-02T18:47:15.000Z",
      "fromnumber": "+12345678900",
      "tonumber": "+12345678900",
      "duration": 50,
      "amount": 0.0156,
      "externalid": "629665a2-fef1-4e52-b430-6e37b2f0e204",
      "calltype": "outgoing",
      "callstatus": "answered",
      "recordingurl": "https://calls.kixie.com/12345.mp3",
      "recordingsid": "",
      "tonumber164": "+12345678900",
      "fromnumber164": "+12345678900",
      "disposition": "not disposed",
      "fname": "Chasen",
      "lname": "Daniels",
      "calleridName": "Chasen Daniels",
      "email": "kixie@kixie.com",
      "destinationName": "",
      "cadenceactionprocessid": "",
      "powerlistid": "",
      "HScalltype": "",
      "powerlistsessionid": "",
      "extensionDial": 0,
      "toExt": "",
      "fromExt": "",
      "answerDate": "2023-03-02T18:47:16.000Z",
      "callEndDate": "2023-03-02T18:48:05.000Z",
      "externalcrmid": "20081227",
      "crmlink": "https://app.hubspot.com/contacts/12345/contact/12345/",
      "contactid": 20081227,
      "dealid": "",
      "webhookurl": "https://webhook.site/",
      "outcome": ""
    },
    "crm": "",
    "hookevent": "endcall",
    "businessid": "21594",
    "webhookurl": "https://webhook.site/",
    "webhookHeaders": "",
    "number": "+12345678900",
    "customernumber": "+12345678900",
    "businessnumber": "+12345678900"
  }
}

 

SMS Webhook Data

  • Message
  • Message Date
  • Agent's Phone Number
  • Customer's Phone Number
  • CRM Link
  • Message Direction

SMS Example Payload Data

{
"data": {
"messageid": "sms0c431ad6-123-1234-1234-12345646546546544654",
"from": "+18008662453",
"customernumber": "+18008662453  ",
"to": "+14803813333",
"businessnumber": "+14803813333 ",
"direction": "incoming",
"message": "The contents of a message.",
"businessid": 1111,
"userid": 2222,
"contact": {
"deal": {
"stage": "71.00",
"title": "Don L Fletcher",
"value": "955.00",
"status": "No"
},
"contact": {
"firstName": "Don L",
"lastName": "Fletcher",
"address": null,
"phone": " 18008662453  ",
"city": null,
"name": "Don L Fletcher",
"link": "https://app.pipedrive.com/person/1234",
"id": 1234,
"email":some@email.com
},
"success": true,
"device": {
"type": "gcm",
"usecase": "powercall",
"isactive": 1,
"pushid": "APA91bEQ_S_ktJA-BN_nIRcq1ure_y6yPgsHGKUYwQlr9fd5EEA8qSgdCxGd7_ID0XMoB1gHk8SrWA6j3jBf-EmhTddpyqg0S1tSDEfod0aMvjE6olbjqDb1qMXQs5j5lFFAfNbOZxVvqKd-kZFAK1tTQNNID92oFw"
}
},
"crmlink": "https://app.pipedrive.com/person/1234"
}
}

  

To Set Up a Kixie Webhook

  • Navigate in the Kixie Dashboard to 'Manage', 'Automations', 'Webhooks' 
  • Use the '+ ADD' button to create a new webhook
  • Name your webhook, paste in the Webhook URL from the third-party software, and configure the webhook settings. 
    • In the setup menu, you have options to select the 'Event Name' which is the event in Kixie that will trigger webhook data to be sent, as well as filtering options based on the event that is chosen. 
    • Event options are as follows:
      • End Call: Sends data when a call ends
      • Start Call: Sends data as a call starts
      • Answered Call: Sends data when a call is answered
      • SMS: Sends data when an SMS event is sent/received
      • Disposition: Sends data when a disposition is logged in Kixie PowerCall
      • Voicemail: Sends data when an inbound voicemail is received
      • Scheduled Activity: Sends data when an activity is scheduled through Kixie PowerCall

Using Webhooks via Zapier

Zapier's webhooks are a fantastic way for you to receive this webhook data, and then push it to other applications you use in customizable ways.

Here are two example use cases:

1) Send your Call History or SMS History to a Google Sheet (i.e to create custom reports)

  • Create a google sheet
    • use this pre-populated template for Calls
    • use this pre-populated template for SMS
  • Make a new zap as shown below, using that google sheet

CallHistoryZap.png

c) Select view webhook, copy the URL, and configure the webhook under the 'Webhooks' menu in the Kixie Dashboard. 

2) Send only certain calls to a Slack Channel

  • Maybe it's incoming missed calls only, maybe it's only calls with a certain disposition, maybe it's only calls that are outgoing calls and longer than 3 minutes, maybe it's only incoming answered calls longer than 3 minutes. The options are (almost) endless.
  • Make a new zap as shown below (this one shows how to set this up to only send calls that are answered incoming calls to a Slack channel

incoming_missed_only.png

  • Select view webhook, copy the URL, and configure the webhook under the 'Webhooks' menu in the Kixie Dashboard. 

 

Questions? Send an email to support@kixie.com