1. Teleboard | Support Center
  2. Solution home
  3. Telebroad Admin Center
  4. Admin Center Integrations
Open navigation

Webhook Integrations


Usage


Webhooks are a web service for automatically sending real-time data and notifications between two apps or platforms based on user actions or triggers. Webhooks are, therefore, an effective method for developers to create custom integrations, allowing a destination app to process data and perform functions in response to user events on the source app.


With the Telebroad the source app is the TeleConsole and presently it can only send webhook data to other apps. In other words, the TeleConsole can only be used as a source app for generating webhooks and not as a destination app to receive webhook data.


Webhooks vs APIs


Webhooks are similar to APIs, delivering a similar data payload, and are technically considered a simplified form of APIs. The key differences are the communication format and complexity.

With APIs there is an ongoing bi-directional communication between apps or platforms where API requests and data are exchanged. With webhooks, however, there is only one-directional communication where, in response to a user action, the server of the source app (the TeleConsole in our case) delivers data or event notification to the destination app. 


The destination app will process the data or perform other actions, but other than a delivery confirmation, it will not send back any data to the source app. The advantage of webhooks, however, is that data is automatically pushed to the destination app. In contrast,  with APIs the destination app has to periodically check if data is available and request it. 


To illustrate the differences, if we think of a network as a building then APIs are like elevators allowing for bi-directional movement. Movement is generated on the request of a person pressing a button to call the elevator – akin to code in an app or platform sending an API request. The person can also select the floor he wants to go to akin to an API passing parameters to the destination server to perform actions or modify the values of the returned data.


Webhooks ,on the other hand, are like an escalator. Movement is only possible in one direction between two points and is generated automatically in response to the escalator sensor detecting a person approaching – akin to a webhook automatically generated when a specific user's action is detected.  




Configuration


To create webhooks we work backward and first configure the destination app to obtain its webhook URL. We then configure the TeleConsole to connect to the destination app with this URL and a triggering event.


Destination App Configuration Examples


Obviously, we can only offer general guidance on how to configure webhooks as their implementation will vary by app and platform. You will need to examine the relevant documentation, but if accessible from the user interface, the configuration process should be straightforward assuming the app or platform can act as a webhook destination (as mentioned, the TeleConsole can only be configured as a source app). 


Use a search function and look for "Webhooks". You can also try to look under "Settings" or "Integrations". On some platforms, webhooks are components of channels or workflows so you would first need to select, create, or edit a channel or workflow to see the webhook options.


You can then create or activate a webhook and copy its unique URL. Make sure you copy the URL from the webhook field and not from the browser URL address.


Webhook.site Example


To illustrate a destination app configuration we will use www.webhook.site, a free and simple webhooks testing and automation tool.

  • Open www.webhook.site on your browser. No registration is required, unless if you need to save your work or access advanced features.

  • A webhook URL is instantly generated. Click the URL field to copy it.


RequestBin Example


Another free webhook testing tool, with workflows and webhook automation functions, is RequestBin from Pipedeam.

To configure a webhook on RequestBin:

  • Access RequestBin at pipedream.com/requestbin and sign in or create a new account.

  • From the Projects tab create a New project.

  • Select Workflow from the New menu. You can modify the workflow name if you wish and click Create Workflow.

  • Click Add Trigger and select HTTP/Webhook. Select New Requests and click Save and Continue.

  • The webhook is now ready to receive triggering events and you can click to copy its URL.

  • After configuring the source app on the Admin Center, you can click to add automation actions.


 


TeleConsole (Source App) Configuration


The TeleConsole configuration as the source app is done on the Admin Center:


  • Sign in to the Admin Center and go to App Integrations>Webhooks>Manage.

  • Select ADD NEW WEBHOOK and enter a Name and Description (optional).

  • From the Trigger menu, select the action that will trigger the webhook. Available triggers are described below.

  • Paste the URL from the destination app (the one you copied from Webhook.site or RequestBin in our examples) in the URL field.

    You can do this with your keyboard (Control-V on PC or Command-V on Mac), by right-clicking (PC) or Control-clicking (Mac) in the field and selecting Paste, or by long-tapping and selecting Paste on mobile devices.

  • Naming the trigger: You need to append some text to the URL to reflect and identify the trigger you selected. The phrasing is entirely up to you, just make sure each trigger is named differently.

    Add a slash to the end of the URL followed by the name of the event, for example –

    https://webhook.site/6d7a99f5-5cd5-45e1-8e45-fb7ac4b74b66/Account-SMS

  • Select SAVE.



  • On the Webhooks integration main page, enable the webhook by clicking the bell icon.

    You can click the icon again to temporarily disable the webhook and stop it from sending trigger data.


TeleConsole Webhook Triggers


The TeleConsole webhook triggers are grouped by communication type:


Call Webhooks


  • Account real time calls: A webhook that triggers for inbound or outbound calls for any user or phone number on the account. 

    The webhook payload has details about the caller or user, recipient, call time, call status, and more.

    Note that calls are recorded in segments as they get routed through the phone system. The payload, therefore, shows two call ID numbers one for the entire call and one for the current segment. These usually have the same value for the first segment, but if a call is routed to a new phone system point, a new webhook is generated with a different segment ID.

    The example here shows an internal call between two users:

    Payload dataExplanation
    {
    "callId": "1743731655.796929",A unique identification number for the entire call, including all call segments.
    "UniqueId": "1743731665.624991",A unique identification number for the call segment created by combining its start time, direction, and other values.
    "direction": "Internal","Inbound" for a call from an external caller. "Outbound" for a call placed from a user to an external contact. "Internal" a call between two users. 
    "status": "mailbox",The eventual status of the call, like "answer", "hangup" (by the recipient), "cancel" (by the caller),  or arrived in a "mailbox".
    "sendType": "phone",The type of source point where the call or call segment originated. This is always "external" for an inbound call. 

    Otherwise it can be any of numerous points on the phone system "ivr", "accessmenu, "queue", "extension", "phone" (line),  etc.
    "sendName": "Dan Foster",The name of the source point that initiated or routed the call. Not always available for inbound calls. 
    "sendNumber": "1113840",The phone number or line of the source point that initiated or routed the call. Either an internal extension/line, a full telephone number, or a temporary number assigned by the system to the point in case it doesn't have one (such as in the case of an IVR). 
    "destinationType": "mailbox",The type of destination point where the call or call segment was routed to. Examples can be  "ivr", "accessmenu, "queue", "phone" (line), "mailbox", etc. The will always be "external" for outbound calls. 
    "destinationName": "1113840",The name of the destination where the call was received from. If a name is not available the system will use the destination number value instead.
    "destinationNumber": "1113840",The phone number or line of the destination where the call was received. 
    "calledType": "mailbox",A definition of the called point, where the caller or previous point in the call flow dialed. This has no value for outbound calls.  For inbound or internal calls, the value is assigned by the system based on the progression in call flow. 
    "calledNumber": "1113840",A phone or line number of the called point, where the caller or previous point in the call flow dialed. This has no value for outbound calls.  For inbound or internal calls, the value is assigned by the system based on the progression in call flow.
    "callerIdInternal": "147",A caller ID number assigned to the user who received the call (for inbound or internal calls) or initiated it (for outbound calls). This is usually the same as the user's phone line or extension number.

    Internal caller IDs are only applicable to PBX and internal functions of the phone system. They are not shared with external contacts.
    "callerIdExternal": "17329942081",A ten-digit caller ID assigned to the user's line and is shared with external contacts during outbound calls, but is not relevant to internal calls.
    "callerNameInternal": "Sally Edwards",The name of the user who received the call (for inbound or internal calls) or inititiated it (for outbound calls).  It is not shared with external contacts.
    "callerNameExternal": "Telebroad",A caller ID name assigned globally to all user lines as a company or organization name and can be modified on the Admin Center by going to Account>Profile>Organization name.

    The external caller name is shared with external contacts during outbound calls but is not relevant to internal calls.
    "startTime": "2025-04-03T21:54:25-04:00",The start date and time for the call segment. If the call wasn't routed this is the same as the call start time.
    "callStartTime": "2025-04-03T21:54:15-04:00"The start date and time for the call.
    }
  • User end call: A webhook that triggers when any user hangs up an active call.

    The example here shows an internal call between two users where one user ended the call when reaching the other user's mailbox.

    Payload dataExplanation
    {
    "callId": "1743731655.796929",A unique identification number for the call that was hung up by the user.
    "direction": "Internal","Inbound" for a call from an external caller. "Outbound" for a call placed from a user to an external contact. "Internal" a call between two users. 
    "status": "mailbox",The eventual status of the call, like "answer", "hangup" (by the recipient), "cancel" (by the caller),  or arrived in a "mailbox".
    "callerType": "phone",The type of source point for the caller. This is always "external" for an inbound call. Otherwise it can be any of numerous points on the phone system - "ivr", "accessmenu, "queue", "extension", "phone" (line),  etc.
    "callerName": "Sally Edwards"The name of the caller. Not always available for inbound calls. 
    "callerNumber": "1113873",The phone number or line of the caller. 
    "calledName": "Dan Foster",The name assigned or associated with the caller's line or phone number.
    "calledNumber": "1113840",The line or phone number dialed by the caller.
    "startTime": "2025-04-03T21:54:15-04:00",The date and time when the call was received.
    "callDuration": 17,The entire duration of the call measured from the start time.
    "talkDuration": 7,The duration since the call was answered
    "agentOnCall": false,"A "true" or "false" value indicating if the agent was already on another call when making or receiving a call. 
    "webhookType": "UserEndedCalls"Self-explanatory.
    }


SMS Webhooks


  • Account SMS: A webhook that triggers when any user on the account sends or receives an SMS/MMS message.


    Payload dataExplanation
    {
    "id": 72878715,
    A unique identification number for the SMS message.

    (The conversation containing the message can have its own identification number).
    "direction": "sent","Sent" by the user or "Received" by the user.
    "startTime": "2025-04-03T22:13:31-04:00",

    Date and time the message was sent or received.
    "fromNumber": "16466991871",The sender's phone number.
    "toNumber": "13106991361",The recipient's phone number.
    "message": "Monday will be better. Let's reschedule. Also see attached the latest layout. Beverly Mercado",The text of the message. If the user has a signature enabled for SMS messages, it will be included with the text.
    "media": "[\"https://mmscdn.blob.core.windows.net/mdoxrbb/9a9eb511-76f6-442b-9c47-37a7f2cf5d91.jpg\"]",


    If the message has an MMS media attachment, this has the URL for the media resource.
    "webhookType": "AccountSMS"
    Self-explanatory.
    }

Destination Apps Response Examples


With the above-mentioned testing tool examples, we can see the following responses for an Account SMS trigger:


  • On Webhook.site the response and payload data instantly appear on the page in the Request Content section.


  • On RequestBin, you will see a prompt for a new event.



    Click the Select event list and select the event. You can see the payload data in the body of the RESULTS section.