Skip to main content

Documentation Index

Fetch the complete documentation index at: https://partner-integrations.voyado.com/llms.txt

Use this file to discover all available pages before exploring further.

Shopify Flow is an e-com automation platform that you can use to automate tasks and processes within your Shopify store and across your apps. Shopify Flow monitors your store for events and lets you create a sequence of actions that are taken in response. You can automate tasks and processes within your store and across your apps by creating workflows using triggers, conditions, and actions. Using Shopify Flow’s “Send HTTP request“ action, you can trigger a marketing automation in Engage and build user journeys based on the various customer activities in Shopify. This example looks at how to synchronize selected customer tags from Shopify to Engage and link them to a contact. By configuring a custom trigger in Engage and invoking that trigger within Shopify Flow, you will be able to associate tags as labels in Engage.

Configuration in Engage

Follow these steps:
1

Log into Engage and go to Config Hub

Config Hub is found under Administration on the left-hand menu in Engage.
https://mintcdn.com/voyado-partners/0IxEIB2Y6a--gNYY/icons/help-center-link.png?fit=max&auto=format&n=0IxEIB2Y6a--gNYY&q=85&s=4e7f518f776580d7cdae461a964ea2dc

See where to find Config Hub

2

Create custom trigger

Go to the Custom Triggers page and create a new custom trigger with the values you need. For example:
  • Name: “Gender - Shopify tags”
  • TriggerId: “genderTags“
  • Description: “Set gender labels in Voyado Engage“
3

Add new field

To your new custom trigger, add a new field. For example:
  • Name: “gender”
  • Description: “Gender“
4

Save the trigger

5

Create a new automation

6

Enable custom trigger

Pick the custom trigger you just created from the list of triggers
7

Add a value split

Add a value split in your automation
8

Input expected values

Input the expected values coming from Shopify Flow and select “Ok”.
9

Set the label

Add a “Set label“ activity in each leg of the split
10

Activate

Now activate the automation.
shopify-flow-01

Configuration in Shopify

Follow these steps:
1

Create new flow

Create a new flow in Shopify Flow
2

Choose trigger

Choose a trigger (for example: “Customer tags added”).
3

Add action

Add the action “Flow” > “Send HTTP Request“
4

Choose method

Choose POST as the HTTP method.
5

Input Request URL

Input the Request URL listed below in the URL field. Be sure to replace “[tenantId]“ with the actual name of your tenant.
6

Add headers

Add the request headers as shown in the section “Request headers” below. Remember to replace the value of apikey with your actual API key, which you can find via the Config Hub
7

Add body

Add the body and loop through the tags you want to send over to Engage. Remember to change the name of the “gender“ field to something more relevant if you are syncing tags that are not related to this specific use-case.
8

Activate the automation

shopify-flow-02

The request URL

This URL triggers the custom trigger endpoint by using the Shopify ID which is linked to the externalId field in Voyado Engage.
https://[tenantId].voyado.com/api/v2/automation/customTriggers/[TriggerId]/triggerByExternalContactId/{{customer.id | remove_first: "gid://shopify/Customer/"}}
Remember to replace the [tenantId] and [TriggerId] in the URL with your values.

The request header

apikey: 00000000-0000-000-000000000000 Content-Type: application/json

Payload body in Shopify Flow

The request payload loops through all the tags of a customer in Shopify and checks for a matching tag defined in the payload. The for-loop code example below checks if a customer has any of the tags: “Male“, “Female“ or “Other“ and sends it through to Engage as “gender”:
{
"gender" : "{%- for tags_item in customer.tags -%}
  {%- if tags_item contains "Male" -%}
    {{tags_item}}
  {%- elsif tags_item contains "Female" -%}
    {{tags_item}}
  {%- elsif tags_item contains "Other" -%}
    {{tags_item}}
  {%-endif -%}
{%- endfor -%}"
}
The code example above results in a request payload to Engage that looks like this:
{
"gender" : "Female"
}