The Regal Voice + Iterable integration lets you engage users with voice and conversational SMS campaigns.
With this integration, you can incorporate and orchestrate additional channels into your customer engagement strategy by sending user profiles and events to Regal Voice to trigger additional actions.
Leveraging Iterable's Journey Webhooks, you can pass user and event data to Regal Voice based on milestone triggers such as creating new phone contacts, updating crucial user profile fields, or tracking important events.
Passing data to Regal Voice when creating new contacts
In Iterable, you can create a journey that webhooks out to Regal Voice every time you create a new contact who you want to be available for calls and texts in Regal Voice.
Create a new Journey and give it a relevant name, such as "Create New Contact in Regal Voice".
Set the entry source tile logic as "User profile update" and select the field representing users' phone numbers. We recommend adding an extra filter on the user phone number field ensuring it's set.
-
Create a new custom journey webhook with a relevant name such as "Create New Contact in Regal Voice".
Add the following:
- endpoint: https://events.regalvoice.com/events
- header: the only header you need is "Authorization" and add your Regal Voice API key. (Email support@regalvoice.com to get your API key)
- uncheck "send email and workflowId"
- payload (replacing the relevant data fields from the profile in Iterable):
{ "userId": "{{uniqueIdentifier}}", //this is optional "traits": { "phone": "{{phoneNumber}}", "email": "{{email}}", "firstName": "{{firstName}}", "lastName": "{{lastName}}", "optIn": [ { "channel": "voice", "source": "{{leadSource}}", "subscribed": true }, { "channel": "sms", "source": "{{leadSource}}", "subscribed": true } ], "custom1": "{{custom1}}", "custom2": "{{custom2}}" }, "eventSource": "iterable" }
NOTE
The only required field above is the traits.phone property. The rest is optional. However, if you include optIn, you must include optIn.channel and optIn.subscribed.
The above payload example assumes all of your contacts have accepted opt in for voice and sms. If not, you can remove the optIn property from the above and set up a separate workflow to update a contact in Regal Voice when optIn is collected.
Updating opt in information
If opt in and out can happen at different parts of your user experience on your app, it's important to update Regal Voice as users opt in or out. It assumes you save this as an Iterable profile field, but if not, the trigger can just as easily be an event in your Iterable project that represents a user opting in or unsubscribing.
Create a new workflow titled "Send Opt In or Out to Regal Voice"
Set the trigger node logic as "User profile update" and select the relevant field representing users' opt in status. If instead you fire an event to Iterable to represent opt in or out, use that event as the trigger instead.
- Create a custom workflow webhook called "Update Contact in Regal Voice," and add the following:
- endpoint: https://events.regalvoice.com/events
- header: the only header you need is "Authorization" and add your Regal Voice API key.
- make sure to uncheck "send email and workflowId"
- payload (replacing the relevant data fields from the profile in Iterable):
{ "userId": "{{uniqueIdentifier}}", //this is optional "traits": { "phone": "{{phoneNumber}}", "optIn": [ { "channel": "voice", "source": "{{leadSource}}", "subscribed": "{{voice_optin_subscribed}}" }, { "channel": "sms", "source": "{{leadSource}}", "subscribed": "{{voice_optin_subscribed}}" } ] }, "eventSource": "iterable" }
NOTE
To ensure more attributes are up to date at time of send, you can also include additional user profile attributes in this payload.
Sending events to Regal Voice
You can set up a journey for each of the key events you want to send Regal Voice. These should be any key events that are important for triggering conversational SMS and Calls in Regal Voice or that will be used as exit criteria for contacts to fall out of Regal Voice campaigns.
Create a new workflow with a relevant name such as "Send Sign Up Completed Event to Regal Voice".
Set the trigger node logic as "Custom Event" and select the name of the event you want to send to Regal Voice, such as "Sign Up Completed".
Create a custom workflow webhook for the event and add the following:
- endpoint: https://events.regalvoice.com/events
- header: the only header you need is "Authorization" and add your Regal Voice API key.
- make sure to uncheck "send email and workflowId"
- payload (replacing the relevant data fields from the specific event in Iterable).
NOTE
While it's not necessary, you can also send any key user profile data fields on the event payloads of your event workflows to ensure Regal Voice has access to the most up to date contact attributes at the time key events become available.
{ "userId": "{{uniqueIdentifier}}", //this is optional "traits": { "phone": "{{phoneNumber}}", "firstName": "{{firstName}}", "lastName": "{{lastName}}", "custom1": "{{custom1}}", "custom2": "{{custom2}}", "custom3": "{{custom3}}" }, "name": "Application Step 1 Completed", "properties": { "educationalLevel": "{{educationalLevel}}", "preferredLocation": "{{preferredLocation}}", "preferredSubject": "{{preferredSubject}}", "readytoCommit": true }, "eventSource": "iterable" }
If you have any questions, please reach out to your Iterable CSM or support@regalvoice.com!