E-Commerce Integration: Shopify
Last updated
Last updated
Business Goal 1: Automatically sync Contact information in Shopify and YesHello.
Business Goal 2: Manage orders and carts by sending customers messages and keeping agents up-to-date on status changes.
Shopify uses email as the required Zapier identifier for contacts. To send information between YesHello and Shopify, you’ll need to:
Ensure you have Contacts’ email addresses in YesHello. To automatically collect Contacts’ emails in YesHello, consider using Workflows.
Ensure customers check out with an email address. To do this, go to Shopify Settings > Checkout and accounts > Customer contact method > select email.
Check if you have the necessary Contact identifiers and settings for your Zaps to work.
There are four tasks that you can automate in order to sync contacts.
Create a customer in Shopify when a new Contact is added in YesHello.
Update a customer’s information in Shopify when it is updated in YesHello
Create or update a Contact in YesHello when a new customer is added in Shopify.
Create or update a Contact’s information in YesHello when a customer is updated in Shopify.
When a new Contact is added in YesHello, the Zapier template will automatically search for that contact in Shopify using the email as the identifier. These are the expected outcomes.
Use a Zapier template
Use this template:
First, follow the steps to set up a YesHello Zapier integration here and set up your YesHellotrigger.
Test the trigger and continue to the next step.
Filters by Zapier and multi-step Zaps are only available on Zapier’s Starter plan and above.Create a Custom Field in YesHello and name it Contact Note
.
Only continue if…
Contact Email exists in YesHello. This is because Shopify uses email as a required identifier for Zapier.
Select +And to add Contact Note in YesHello does not contain #shopify. This is necessary to prevent a Zap loop due to Zapier’s limitations on contact syncing.
Last name
is required by Shopify to complete a Zap. This action will fill in the last name
field if YesHello Contacts do not have a last name on record. Most of the configuration is already done by the template. Simply fill in “Unknown” or any other default value you want to use.
Select your Shopify account and continue to set up the action. Map the name and email fields to identify the Contact > choose Yes for the step to be considered a success when nothing is found > tick create Shopify Customer if it doesn’t exist yet.
Map the fields to be filled in for the newly created customer.
Fill in email and last name (mandatory fields).
Fill in the Note field with #respond to prevent Zap loops (this is case sensitive).
Choose any other fields you want to add.
If you have Custom Fields in YesHello that match certain Shopify fields, consider mapping those as well.
When a Contact is updated in YesHello, the Zapier template will automatically search for that contact in Shopify using the email as the identifier. These are the expected outcomes.
Use a Zapier template
Use this template:
YesHello Trigger - Contact Updated
First, follow the steps to set up a respond.io Zapier integration here and set up your respond.io trigger.
Test the trigger and continue to the next step.
Filters by Zapier and multi-step Zaps are only available on Zapier’s Starter plan and above.
Only continue if…
Contact Email exists in YesHello. This is because Shopify uses email as a required identifier for Zapier.
Formatter Action
Last name
is required by Shopify to complete a Zap. This action will fill in the last name
field if YesHello Contacts do not have a last name on record. Most of the configuration is already done by the template. Simply fill in “Unknown” or any other default value you want to use.
Shopify Action - Find Customer in Shopify
Select your Shopify account and continue to set up the action. Map the name and email fields to identify the Contact > choose Yes for the step to be considered a success when nothing is found > tick create Shopify Customer if it doesn’t exist yet.
Map the fields to be filled in for the newly created customer.
Fill in email and last name (mandatory fields).
Fill in the Note field with #YesHello to prevent Zap loops (this is case sensitive).
Choose any other fields you want to add.
If you have Custom Fields in respond.io that match certain Shopify fields, consider mapping those as well.
Map the fields you want to fill in to update customer in Shopify.
Choose Shopify Customer ID as the customer identifier.
Fill in Last Name with the Output value from the Formatter step.
Choose any other fields to be updated.
When a new customer is added in Shopify, the Zapier template will automatically search for that contact in respond.io using email as the identifier. These are the expected outcomes.
Use a Zapier template
Use this template:
Shopify Trigger - New Customer in Shopify
Choose your connected Shopify account and test the trigger.
Only continue if…
Note in Shopify does not contain #YesHello This is necessary to prevent a Zap loop due to Zapier’s limitations on contact syncing.
Filters by Zapier and multi-step Zaps are only available on Zapier’s Starter plan and above.
First, follow the steps to set up a YesHello Zapier integration here.To prevent a Zap loop, add a Custom Field in respond.io and name it Contact Note.
Map the fields you want to add for the YesHello Contact.
Choose Email as the Identifier Type.
Fill in the Contact Note field with #shopify (this is case sensitive).
Fill the other fields with the information you want from Shopify.
When a customer is updated in Shopify, the Zapier template will automatically search for that contact in respond.io using email as the identifier. These are the expected outcomes.
Use a Zapier template
Use this template:
Shopify Trigger - Updated Customer in Shopify
Choose your connected Shopify account and test the trigger.
YesHello Action - Create or Update Contact
First, follow the steps to set up a respond.io Zapier integration here.
Map the fields you want to add for the respond.io Contact.
Select email as the Identifier Type.
Fill the other fields with the information you want from Shopify.
If your customers are YesHello Contacts and you have their email, you can send them instant messages about their Shopify orders and notify agents about customers’ order status. First set up Contact syncing so your customers are more likely to be in both places.
For channels like WhatsApp and SMS, you will also need to have the customer’s phone number.Check that you have the necessary Contact identifiers and settings for your Zaps to work.
Keep customers informed about their Shopify orders over their preferred messaging channel
Track customer activity and send tailored messages to prompt purchases
Send customers instant messages related to their orders using Zapier.
Send abandoned cart messages to prompt customers to complete their Shopify purchase using Zapier.
Update YesHello Contacts’ Shopify order status using Zapier.
This can only be done if the customer is a YesHello Contact and you have their email. For channels like WhatsApp or SMS, a phone number is also required.
Use this template to send a message to a customer when they make an order in Shopify:
Use this template to send a customer a receipt for their Shopify order:
Use this template to send customers messages about changes to their order status:
The configuration is similar for all of these templates.
Shopify Trigger
Select your Shopify account, test the trigger and continue.
YesHello Action - Send Message
First, follow the steps to set up a YesHello Zapier integration.
Map the fields accordingly:
Identifier Type: Choose email
Identifier Value: Choose Shopify customer email
Channel Type: Select Last Interacted Channel or Specific Channel.
Message Type: Select Text, Attachment, Quick Reply, Custom Payload, or Email.
If the last interacted channel has a messaging window that is closed, the message will not be sent. Use Specific Channel to send template or tagged messages.
This can only be done if the customer is a YesHello Contact and you have their email. For channels like WhatsApp and SMS, a phone number is also required.
Use this template to send abandoned cart messages:
Template Configuration
Shopify Trigger - New Abandoned Cart in Shopify
Select your Shopify account and select the age of the cart in hours. Test the trigger and continue.
First, follow the steps to set up a YesHello Zapier integration.
Map the fields accordingly:
Identifier Type: Choose email
Identifier Value: Choose Shopify customer email
Channel Type: Select Last Interacted Channel or Specific Channel
Message Type: Select Text, Attachment, Quick Reply, Custom Payload, or Email
If the last interacted channel has a messaging window that is closed, the message will not be sent. Use Specific Channel to send template or tagged messages.
Update YesHello Contacts’ Shopify order statuses using Zapier
You can only do this if you have the Contact’s email in YesHello. These are the expected outcomes.
How-to
Use this template to add tags to YesHello Contacts so agents can see Contacts’ Shopify purchase activity:
Trigger Configuration
Shopify Trigger
Select your Shopify account and the type of order activity you want to trigger the Zap. For this example, we’re using paid, closed, shipped orders. You may set up different Zaps for different order statuses.
First, follow the steps to set up a respond.io Zapier integration.
Choose email as the identifier and fill in the Shopify customer email as the value. You may type in the tags or choose from Shopify fields.
If you have a question, feel free to contact our support team here
Trigger Event
Conditions
Outcomes
New Contact is added in YesHello
Customer exists in Shopify
Zap will stop
New Contact is added in YesHello
Customer does not exist in Shopify
Create a new Shopify customer
New Contact is added in YesHello
Contact does not have an email in respond.io
Zap will stop
Trigger Event
Conditions
Outcomes
Contact is updated in YesHello
Customer exists in Shopify
Customer information is updated in Shopify
Contact is updated in YesHello
Customer does not exist in Shopify
New Customer is created in Shopify
Contact is updated in YesHello
Contact in YesHello does not have an email
Zap will stop
Trigger Event
Conditions
Outcomes
New customer is added in YesHello
Contact exists in YesHello
Update Contact in YesHello with any new details
New customer is added in YesHello
Contact does not exist in YesHello
Create a new YesHello Contact
New customer is added in YesHello
Contact exists in YesHello without an email
Create a new YesHello Contact
Trigger Event
Conditions
Outcomes
Customer is updated in Shopify
Contact exists in YesHello
Update Contact in YesHello with any new details
Customer is updated in Shopify
Contact does not exist in YesHello
Create a new YesHello Contact
Customer is updated in Shopify
Contact exists in YesHello without an email
Create a new YesHello Contact
Trigger Event
Conditions
Outcomes
Shopify order activity
Contact exists in YesHello with an email
Add tags to respond.io Contact
Shopify order activity
Contact does not exist in YesHello
Zap will stop and send an error message
Shopify order activity
Contact exists in YesHello without an email
Zap will stop and send an error message