Integrations allow administrators to capture changes and events actioned on a PBX.
A Webhook is a way for 2 applications to communicate and share real-time data. A Webhook works in the same way as an API only in reverse - data is pushed from the application rather than pulled (API).
Service Integrations
Service Integrations include the following:
- Inbound Call Received: Webhook will fire when an inbound call is received.
- Inbound Call Answered: Webhook will fire when an inbound call is answered by a user.
- Outbound Call Placed: Webhook will fire when an outbound call is placed.
- IVR Call Received: Webhook will fire when a call reaches an IVR.
- IVR Option Selected: Webhook will fire after the caller has selected an option on an IVR.
Enabling Service Integrations
From the PBX main page, click 'Manage Applications'.
Place a tick in the box to enable Applications.
Service Integrations Configuration
From the PBX main page, click 'Integrations'.
On this page, you can see all of your active integrations.
- Name: This name is for your reference.
- Type: This is the type of Integration, currently Webhook only.
- Trigger Service Type: This is the trigger, currently Hosted PBX only.
- Trigger Event: Inbound Call Answered, Outbound Call Placed, etc.
Click the icon to edit an Integration.
Click the icon to disable an Integration.
Click the icon to enable an Integration.
Service Integration Configuration
To create a new Integration, click 'Create New Integration'.
Enter the following information:
- Integration Name: This is for your reference
- Type: Webhook
- Request URL: The URL the payload will be sent to.
- Method: POST | GET. Most endpoints will use POST. GET support for legacy applications.
- Format: JSON | QUERY. JSON payload or QUERY string.
- Path Arguments: Additional path arguments.
- Trigger Service Type: Service type.
Enter the following information:
- Authentication Type: None | Basic Auth | Token.
- Username: Username [optional]
- Password: Password [optional]
- Token: Token [optional]
A custom HTTP header can be added to requests, a typical request will start with X-, for example, X-{myvalue}.
Enter the following information:
- Request Name: Name of the custom header value.
- Request Value: Value to be sent.
Field Values
The payload can be customised by selecting a predetermined value from the drop-down list. In all cases, the Request Key can be configured to align with your application. The following values are specific to the Hosted PBX service type.
- Extension Number: Hosted PBX users configured the extension number.
- Name: Hosted PBX user name.
- Outbound Phone Number: Outbound number configured for the extension.
- Has Voicemail: True: Voicemail is enabled. False: Voicemail is disabled.
- Enabled Calls: Comma-separated list of call types enabled for the extension. Local, National, Mobile, International, International Other, Premium, Other.
- Date/Time: Date and Time of the request.
- Service UUID: Unique identifier of the service. A list of service UUIDs can be obtained using Hosted PBX API.
- Service Name: System configured name of the service.
- Service Friendly Name: User-configured name of the service.
- Source Number: A source phone number that placed the call.
- Destination Number: A destination phone number that was dialled.
- Call UUID: The Unique identifier of the call.
- IVR Name: The name of the IVR.
- Option Selected: The option selected by the caller at the IVR.
Note: Not all request values will be available for every trigger event.
Note: A call picked up via the ** Method will not be seen as an 'answered call' via the webhook as it is technically considered an outbound, internal call.
When you are finished, click 'Save & Close'.