Notifications
Connect Mindful with your Twilio messaging account
The Notifications section of the Connections page contains integrations with Twilio and Mindful webhooks. Some of these connections send SMS notifications via your Twilio account rather than Mindful's messaging platform. Others send webhooks alongside, or instead of, SMS notifications.
Send notifications via Twilio
The Twilio messaging connections allow you to use your own Twilio account to send Mindful SMS messages to customers rather than using Mindful's messaging platform.
The content of each message comes from the Messaging tab of the Call Target page in the Mindful UI. Any dynamic text replacements configured for the Call Target will be included, except for the Widget URL.
The Handle configured for the Call Target is used to populate the fromAddress
in the content of the payload, so you will need to enter the Twilio number you wish to use as the From number in the Handle field on the Call Targets page.
- Chose messaging
- Sends Voice to Text Message notifications using Twilio
- Confirmation
- Sends Confirmation Notifications using Twilio.
- A check is made to ensure the callback is still in a pending state, just in case something happens to change the state before the confirmation is sent.
- Events will be sent for both ASAP and scheduled callbacks for all registrations in the organization.
- Scheduled reminder
- Sends Reminder Notifications using Twilio
- A check is made to ensure the callback is still in a pending state, just in case something happens to change the state before the reminder is sent.
- Events will be sent for scheduled callbacks only, for all registrations in the organization.
- The event will be sent 15 minutes before the callback is scheduled to be made, as long as the callback is scheduled for more than 15 minutes from the time it is registered.
- Final attempt
- Sends Final Attempt notifications using Twilio.
- Events will be sent for the finalization of callbacks that end with an outcome of Abandoned, Failure, Unavailable, or Unknown for all Call Targets in the organization.
- Success
- Sends Success notifications using Twilio.
- Events will be sent for the finalization of callbacks that end with an outcome of Success for all Call Targets in the organization.
Follow the instructions below to enable these connections:
Click Enable on one of the Twilio notifications tiles.
Enter a Client ID and Secret from a Mindful API Application Client (this step may be skipped if you have enabled other connections).
(For confirmation and scheduled reminder notifications only) When prompted, enter the Scheduler widget organization ID.
This can be found in the API Endpoints section of the Widget configuration page in the Mindful UI.
If the organization has an ACP configured with an API Token, enter the token here.
Next, enter your Twilio Login credentials.
When prompted, configure your Twilio Account SID.
When you're finished configuring all required variables, click Create.
Errors
If there are errors in processing, a single retry will be made after a delay.
Send notifications via webhooks
Several integrations in the Notifications section of the Connections page allow you to send notifications via webhooks for important events throughout the lifecycle of a callback.
The content of each message comes from the Messaging tab of the Call Target page in the Mindful UI. Any dynamic text replacements configured for the Call Target will be included, except for the Widget URL.
The Handle configured for the Call Target is used to populate the fromAddress
in the content of the payload, so you will need to enter the number you wish to use as the From number in the Handle field on the Call Targets page.
There are two variants for each webhook — one configured for Basic Authentication and another with no authentication required. The only difference is that the Basic Authentication variants require a username and password for a Basic Authentication header to be sent with the webhook.
Changing the Callback CID (Caller ID) through Dynamic DNIS Mapping is not supported for these connections.
The following events can be sent via webhooks:
- Chose messaging
- Send a webhook event when a customer chooses to receive a message rather than a callback.
- Confirmation
- Send a webhook event for the Confirmation notification. Before sending the event, Mindful will verify that the callback is still pending, in case something happens to change the state before the confirmation is sent. Events will be sent for both ASAP and scheduled callbacks across the organization.
- Reminder
- Send a webhook event for the Reminder notification for scheduled callbacks. Before sending the event, Mindful will verify that the callback is still pending, in case something happens to change the state before the confirmation is sent. Events will be sent for scheduled callbacks only, for all callback registrations across the organization. The event will be sent 15 minutes before the callback is scheduled to be made, as long as it is scheduled for more than 15 minutes from the time it was registered.
- Final attempt
- Send a webhook event for the Failure notification. Events will be sent for callback finalizations that end with an outcome of "Abandoned", "Failure", "Unavailable", or "Unknown" for all Call Targets in the organization.
- Success
- Send a webhook event for the Success notification. Events will be sent for callback finalizations that end with an outcome of "Success" for all Call Targets in the organization.
Follow the instructions below to enable these connections:
Click Enable on one of the webhook tiles.
If authentication is required on the receiving end, be sure to select one of the Basic Authentication variants.
Enter a Client ID and Secret from a Mindful API Application Client (this step may be skipped if you have enabled other connections).
If prompted (for Confirmation or Reminder webhooks), enter the Scheduler widget Organization ID and optional API token. You can obtain your Organization ID from the API Endpoints modal window on the Widgets page.
Next, enter information related to the application that will receive webhook events.
(Optional, only needed when using Basic Authentication) If needed, enter Basic Authentication credentials in the Username and Password fields. These fields only appear for the the Basic Authentication variants.
URL — Enter the full endpoint URL of the application that will listen for webhook events.
Headers — (Optional) enter HTTP Headers in the format "key=value", one per line. If a unique ID is required as a value, enter {id} as the value of a header
After you have installed one of the webhook connections, contact a Mindful team member to obtain a URL to populate a Mindful webhook.
Each webhook should be configured to only send events related to one installed connection, as noted below:
Success, Final Attempt, and Chose Messaging — Only finalization events
Reminder and Confirmation — Only callback registration events
When you're finished configuring all required variables, click Create.
Example notifications
The following examples show each webhook notification with optional metadata and an id
attribute included:
Chose Messaging
{
"data": {
"notification": {
"callTargetId": "6281",
"callTargetName": "Sales",
"toAddress": "+13305551234",
"fromAddress": "+18505554321",
"message": "Thank you for calling in - you can text us at any time.",
"type": "chose messaging",
"metadata": {
"test-key": "test-value"
}
},
"clientName": "Mindful Product Team",
"event": "Chose Messaging Notification",
"time": "2024-10-16T15:47:15Z",
"webhookName": "External Notification - Chose Messaging",
"id": "bdeda7e8-09df-4728-ab1d-3185c90cd17f"
}
}
Confirmation
{
"data": {
"notification": {
"callTargetId": "6281",
"callTargetName": "Sales",
"toAddress": "+13305551234",
"fromAddress": "+18505554321",
"message": "Hello! You have successfully registered your callback with \"ABC\" and will receive a callback from 18505554321. You can text us at any time, reply with @status to get an update on your pending callback or @cancel to cancel it. Thank you.",
"type": "confirmation",
"metadata": {
"test-key": "test-value"
}
},
"clientName": "Mindful Product Team",
"event": "Confirmation Notification",
"time": "2024-10-16T15:47:15Z",
"webhookName": "External Notification - Confirmation",
"id": "bdeda7e8-09df-4728-ab1d-3185c90cd17f"
}
}
Reminder
{
"data": {
"notification": {
"callTargetId": "6281",
"callTargetName": "Sales",
"toAddress": "+13305551234",
"fromAddress": "+18505554321",
"message": "Just a reminder that we will be calling you back shortly. Thank you.",
"type": "reminder",
"metadata": {
"test-key": "test-value"
}
},
"clientName": "Mindful Product Team",
"event": "Reminder Notification",
"time": "2024-10-16T16:00:06Z",
"webhookName": "External Notification - Reminder",
"id": "bdeda7e8-09df-4728-ab1d-3185c90cd17f"
}
}
Final Attempt
{
"data": {
"notification": {
"callTargetId": "6281",
"callTargetName": "Sales",
"toAddress": "+13305551234",
"fromAddress": "+18505554321",
"message": "We were unable to call you back successfully. Reply @callme to register a new callback or "XYZ" for more options and a service menu. Thank you.",
"type": "final attempt",
"metadata": {
"test-key": "test-value"
}
},
"clientName": "Mindful Product Team",
"event": "Final Attempt Notification",
"time": "2024-10-16T15:26:22Z",
"webhookName": "External Notification - Final Attempt",
"id": "bd061f9d-8091-44ce-8c8d-5172f8c999ca"
}
}
Success
{
"data": {
"notification": {
"callTargetId": "6281",
"callTargetName": "Sales",
"toAddress": "+13305551234",
"fromAddress": "+18505554321",
"message": "Please take a moment to fill out a quick survey about your experience with "ABC" - https://example.com/survey.",
"type": "success",
"metadata": {
"test-key": "test-value"
}
},
"clientName": "Mindful Product Team",
"event": "Success Notification",
"time": "2024-10-16T15:26:22Z",
"webhookName": "External Notification - Success",
"id": "bd061f9d-8091-44ce-8c8d-5172f8c999ca"
}
}
Errors
If errors occur in processing, a single retry will be made after a delay. If there is an error attempting to send the external event, a single retry will be attempted to the same endpoint immediately.
Send ASAP callback reminder notifications
The ASAP Reminder notification sends SMS messages to remind customers that their expected callback time is approaching. Reminders are only sent to callers who are expected to wait more than 20 minutes and less than 60 minutes.
Reminder messages will be sent 10 minutes before the expected callback time. Before sending a message, Mindful will verify that the callback is still pending, and will cancel the message if the callback is no longer pending. Messages are sent via Mindful's messaging platform.
Follow the instructions below to enable this connection:
Click Enable on the "ASAP Reminder Notification" tile.
Enter a Client ID and Secret from a Mindful API Application Client (this step may be skipped if you have enabled other connections).
When prompted, enter the Scheduler widget Organization ID and optional API token. You can obtain your Organization ID from the API Endpoints modal window on the Widgets page.
Next, enter an API Token for the Mindful messaging platform. Contact a Mindful representative to obtain this token.
Configure the following items in the Mindful UI before proceeding:
Configure a Call Target metadata item with a key name of "asap_reminder_notification_enabled" with a value of "true". Select "SIP Header" in the Type dropdown menu for the metadata item. See How to add or edit metadata items for instructions.
Configure another Call Target metadata item with a key name of "asap_reminder_notification_text" and a value containing the message to send.
For both metadata items, deselect both "Agent" and "Customer" for the Present Metadata to settings.
Configure the Handle of the Call Target to specify the number to send the message from. If not populated, the default handle on the messaging token configured by Mindful will be used.
After you have installed the connection, contact a Mindful team member to obtain a URL to populate a Mindful webhook.
Each webhook should be configured to only send events related to callback registration events.
When you're finished configuring all required variables, click Create.
Errors
If errors occur in processing, a single retry will be made after a delay.