Notifications

Connect Mindful with your Twilio messaging account

Restriction: This functionality is currently in Beta. During this early access period, clients in the Beta program can try out and test this feature, and provide feedback about it. This stage allows Medallia to refine the feature's design before its general availability. Be aware that functionality may change before then.

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.

example of connections for 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.

Note: Changing the Callback CID (Caller ID) through Dynamic DNIS Mapping is not supported for these connections.
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:

  1. Click Enable on one of the Twilio notifications tiles.

  2. Enter a Client ID and Secret from a Mindful API Application Client (this step may be skipped if you have enabled other connections).

    image of the input fields for application client credentials
  3. (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.

    image of the input fields for organization ID and API token
  4. Next, enter your Twilio Login credentials.

    image of the input fields for twilio credentials
  5. When prompted, configure your Twilio Account SID.

    image of the input field for twilio account sid
  6. 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.

Note:
  • 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:

  1. 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.

  2. Enter a Client ID and Secret from a Mindful API Application Client (this step may be skipped if you have enabled other connections).

    image of the input fields for application client credentials
  3. 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.

    example of connecting mindful an Application Client
  4. Next, enter information related to the application that will receive webhook events.

    example input fields for the app to receive webhooks
    • (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

  5. 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

  6. 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.

image of the asap reminder notification tile

Follow the instructions below to enable this connection:

  1. Click Enable on the "ASAP Reminder Notification" tile.

  2. Enter a Client ID and Secret from a Mindful API Application Client (this step may be skipped if you have enabled other connections).

    image of the input fields for application client credentials
  3. 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.

    example of connecting mindful an Application Client
  4. Next, enter an API Token for the Mindful messaging platform. Contact a Mindful representative to obtain this token.

    image of the input field for the messaging token
  5. 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.

  6. 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.

  7. 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.