First steps
User Data
- Responsive Email Editor Review
- Designing your email
- Creating Synchronized Modules
- Setting Responsivity
- Building Smart Containers
- Creating a Gmail Promotions Annotation
- Adding The Rollover Effect
- Adding Anchor Links
- Module Library
- Adding a Table to an Email
- Adding Custom Fonts
- Creating CTA Button
- Working with Images
- Using AI in the Email Editor
Omnichannel
- Setting Up Widgets for Your Site
- Widget Calling
- Setting Up Locations for the Widget Calling Rules
- Storing data from widgets to contact fields
- Using Annoyance Safeguard
- Actions After Form Submission
- Replacing Double Opt-In System Workflow
- Using Yespo Extension for Google Chrome
- Creating Pop-ups via Google Tag Manager or WordPress
- Sending Yespo Widget Events to Google Analytics
- Using A/B Tests for Widgets
Automation
- Double Opt-In
- Welcome Сampaign
- Welcome Series Segmented by Category
- Launching a Workflow After a Contact Import
- Regular Workflow for a Segment
- Birthday Campaign
- Linking Workflow to the Button
- Using Variables from Order in Workflow
- Collecting Order Feedback
- Customer Reactivation
- Sending Extra Campaigns
Personalization
Analytics
- Email Campaign Report
- Web Push Campaign Report
- Viber Campaign Report
- Mobile Push Campaign Report
- App Inbox Campaign Report
- Widget Report
- Triggered Campaign Report
- AMP Campaign Report
- SMS Campaign Report
- Multilingual Campaign Report
- Setting up UTM Tags
- Revenue from Campaigns
- Tracking Campaign Performance in Google Analytics
Multilanguage Campaigns
Events and Behaviour Tracking
Recommendations
API
Security and Compliance
Integration
Webhook Workflows
Webhook workflows allow working with parameters from events and from the user’s profile in Yespo.
This request uploads and sends the contact’s data from Yespo to other systems and contrariwise collects data into Yespo from external systems. Using this as a part of a workflow, you can:
- Address your own resource, which will process the request and return data for personalization (for example, a personal promo code or a token for authorization) in the message.
- Send data from an event or from the contact’s card (for example, order id, additional field “contact’s id in messenger” or “Birthday”) to an external resource.
Note
Only the contact’s data (fields + additional fields) and the parameters from an event that triggered a workflow with a webhook can be sent through a webhook.
In most cases, data transfer in webhooks is configured in JSON format, but XML and text formats are also available.
How to create a webhook in a workflow
- From the Dashboard page, select Automation > Workflows in the top menu.
- Click the New workflow button.
- Open the Actions tab on the left panel.
- Select Webhook.
- Click the Create webhook button on the Settings panel on the right side.
Webhook configuration window opens. There you can see it is possible to select `GET` or `POST` request type.
How to work with GET request
Use this request type when you want to request data on an external resource using the link to use the data in a workflow and insert it inside the workflow. The data is transmitted to an URL as “name-value” pairs. In order to configure the webhook:
- Enter the webhook name using any symbols (required field) and description (optional field).
- Enter the resource’s URL through secured HTTPS protocol (if you enter HTTP the system does not save the link). Type in variables you want to return after the interrogation symbol. In this example, we transmit the email parameter’s value from an event triggering the workflow and address the EMAIL field related to the contact’s card on the resource to which we sent the `GET` request.
- If your resource reads parameters from headers, enable Pass parameters in headers slide button.
- Enter corresponding variables and values you want to address.
- Enable Authentication slide button and select authentication connector.
- If you need to configure a new one, click the New connector button to open Create connector window.
- In Create connector window:
- Enter Connector name.
- Select Authentication type from the dropdown list: Basic, Bearer token, API key.
- Enter login and password/token/key.
- Click the Done button to apply the new connector in the webhook automatically.
Now you can test the request.
Click the Send test button. Click Select contact to select a suitable contact for testing webhook’s functionality. In the opened window, use the search bar to find a contact.
You can also find a contact using segment. For that, select View contacts from the selected group.
To view the contact’s card, click the ‘eye’ icon. To confirm contact selection, click the highlighted line with the contact from the list. Click Next, then Send request.
In the same window, you get the response with Headers и Body.
If the test is successful, click the Back arrow in the top left corner of the dialog window, and click the Done button.
Now the new webhook is available for selection in your workflow.
Note
There are three fields in the Webhook block settings for identification of a contact by a parameter from an event: `Contact ID`, `Phone` and `Contact Email`. It is sufficient to enter one of those three parameters for a workflow to identify which contact’s data shall be received/transmitted in a webhook. In our example, the workflow triggers an event with an email variable. Therefore, `${email}` shall be indicated in the Webhook block for the `Contact Email` field.
Now you can show the received data in a message using the expression in Velocity language. Go to Messages → Messages → Create Email or choose your template.
Insert the expression with the value of the received variable to output dynamic data into any text area.
Example: $!mathTool.toInteger($data.contacts_get_by_email.get(0).id),
where `contacts_get_by_email` is the name of your webhook (here it plays the role of a data source),
`get(0).id` is a call to a variable in the source pointing to the required parameter. In this case that is contact id.
When testing, the contact id is inserted into the message that has been found by the email from an event using the webhook.
How to work with POST requests
Let’s see the example of when it is necessary to send the data about the contact’s city to get a promo code for him/her from an external source.
Follow the steps below to configure a webhook with the `POST` request:
- In the webhook block settings, click the Create webhook button
- In the webhook configuration window, enter the webhook name
- Select the `POST` request type
- Enter the URL of a resource using the secure HTTPS protocol. In this link, you can use variables calling event parameters or contact fields. In the example, we call `TOWN` – the standard contact field in Yespo.
- If your application reads parameters from headers, enable the Pass parameters in headers slide button
- Enter corresponding variables and their values
- Enable the Authentication slide button to configure authentication parameters
- Select from existing connectors or create a new one
To create a new authentication connector:
a. Select New connector from the dropdown list
b. In the opened window, enter new connector name
c. Select the required authentication type from the available ones:
- Basic
- Bearer token
- API key
d. Enter login and password/token/key
e. Click the Done button
- In the body of the `POST` request, you can send a random amount of data. For that, enable the corresponding slide button, select the format of the data to be inserted and insert it below. Available formats: JSON, XML, text.
- Test the webhook to check whether the settings are correct. Press the Send test button in the Settings window.
The system suggests where to take the data for testing – from the contact’s card or from an event. If the webhook URL is configured to address a parameter from an event, then during testing the system suggests choosing an event from the list of those received by the system at any time, or to enter the event’s body manually.
Since in our example we indicate addressing to the contact field, then it is necessary to select a contact from the base in the Yespo account.
You can choose another contact ① or view the selected one ②.
Upon pressing the Next and Send request buttons you receive the response with Headers and Body:
To show the promo code in the message, enter the following expression into the text area:
`$data.get('WH5').get('promocode')`, where
- `WH5` is the source name (webhook name).
- `promocode` is the name of the variable containing the promo code value.
The result of a promo code inserted in the letter:
Webhook management
Press Manage Webhook in the webhook block settings. The window containing the list of webhooks opens. There you can:
- create a new webhook
- edit existing webhooks
- test webhooks
- delete webhooks
- view the list of deleted webhooks
In the start history of the workflow with a webhook, you will see the details of the request with Headers and Body: