Digital Download - Send Teeinblue's designs with Make.com (formerly Integromat)
If you're planning to sell digital download (which means sending order designs for customers to download), you can use 3rd-party software to read Shopify orders and send the Teeinblue's design to customers automatically.
Basically, this is how it works:
When an order is created, Teeinblue adds the URL of order design to the Line item properties of each order item in Shopify Orders (make sure you've selected the "Line item property" option in Teeinblue's General settings > Add order design URL to Shopify Orders).
A 3rd-party software will read the latest Shopify Orders and take the order design in the Line item properties to send to your customers' emails automatically.
Teeinblue's design URL is available instantly, but the image in that URL might need 1 - 5 minutes to be generated.
Therefore, to make sure the design is ready to be sent to your customers, you should:
Add a delay for your 3rd-party tool to read the order a few minutes after it's created.
Or use the action "Mark as fulfilled" to trigger the 3rd-party tool.
In this article, we'll help you guys setup Make (formerly Integromat) to do that.
This software helps you create automation flow between multiple platforms. It offers Free plan for you to get started, you can check out make.com website and register.
Before getting started, make sure you've created a Make account.
After registering, go to your account and click on Scenarios page.
Click on Create a new scenario button.
Click on + button ➝ search and click to add "Shopify" module.
Choose Watch Orders option.
*You might skip this step if you've already connected.
Click "Add" and enter your Shopify domain to connect with your Shopify account. You will need to install Make app to your Shopify store (For more instruction of this step, please follow this Make instruction: link).
Follow one of these two cases:
Case 1: Trigger when a new order is created: all new orders will automatically enter the flow to send an email.
With this way, all steps are automatic so you don't have to do anything, but you won't have a chance to review the orders.
- Connection: select the Shopify connection you've just created in step 3.
- Status: open
- Financial status: paid
- Fulfillment status: any
- Limit: based on your demands (it's the maximum number of orders enter this scenario at a time)
Case 2: Trigger when an order is fulfilled: mark orders as fulfilled to make them enter the flow.
With this way, you can review the orders, but you will have to manually mark an order as fulfilled in order to send an email.
- Choose the same options as case 1, except for the "Status" which should change to "closed".
After that, in the "Choose where to start" popup, select the option based on your demands. If you want to start on upcoming orders, choose "From now on".
Click on Flow Control (under Tools) ➝ choose Iterator module to add it to the scenario. It'll show as "Iterator (2)".
Drag the "Iterator (2)" module close to the "Shopify (1)" module to connect them.
(optional) Add a filter between Shopify & Iterator to filter "fulfilled" orders (only for Case 2 - Trigger when an order is fulfilled)
Skip this step if you follow Case 1 - Trigger when a new order is created
- Click on the wrench icon between the "Shopify (1)" & "Iterator (2)" module > Setup a filter.
- Condition: search and select "Fulfillment status" item from "Shopify (1) - Watch orders" module
- Equal to: type "fulfilled"
Click on the Array field ➝ search for "Line items" ➝ click to add the "Line items[]" from "Shopify (1) - Watch orders" to the Array.
This will help get a list of each line items in Shopify Order.
Add a new "Iterator" module, it'll show as "Iterator (3)", and link it to the "Iterator (2)".
In the Array field ➝ search for "Properties" ➝ click to add the "Properties[]" from "Flow control (2) - Iterator".
This will help get a list of properties of each line items.
Skip this step if all of your Teeinblue orders are for digital downloads.
In your artworks, add an "Additional Option" for customers to choose "Yes" or "No" for "Digital download". You can also use "Addon Charge" to charge extra for the digital version.
Must enable the "Show customization data on cart/checkout" to add the customers' selection to Line item property.
Add and set up a new "Iterator (4)" the same as "Iterator (3)".
In the "Array", choose the same "Properties[]" from "Flow control (2) - Iterator" (not from the "Flow control (3) - Iterator").
Click on the wrench icon between the 2 modules ➝ Set up a filter
Add the first condition:
- Condition: choose the "Name" from the "Flow control (3) - Iterator"
- Contains (Case insensitive): type "digital"
Add another condition (AND):
- Condition: choose the "Value" from the "Flow control (3) - Iterator"
- Contains (Case insensitive): type "yes"
Click on Tools (under Tools, next to Flow control) ➝ choose Text aggregator module to add it.
Link it with the "Iterator (4)" (or "Iterator (3)" if you skip step 4).
Click on the wrench icon between the 2 modules ➝ Set up a filter
Add a condition:
- Condition: choose the "Name" from the "Flow control (4) - Iterator" (or "Flow control (3) - Iterator" if you skip step 4).
- Contains (Case insensitive): type "_tib_design_link"
In the "Source module" field, select the first Iterator ("Iterator (2)").
This will help merge the design URLs of the line items from the same order to one email.
Click on the Text field and enter:
- Click to add the "Value" from "Flow control (4) - Iterator" (or "Flow control (3) - Iterator" if you skip step 4).
This "Value" will return the URL of the order design (found in Line item property "_tib_design_link").
Insert this HTML code before the Value item: <img src=" and insert this after the Value: " width="500" height="500" /> <br/>
The whole Text should look like this: <img src="VALUE" width="500" height=500" /> <br/>
Note: The width="500" will be the display size of the design image attached in email sent to customers. You can change the 500 (pixel) to the number you want (recommend 200 - 800px). It doesn't affect the original size when customers download the image.
If your design format is not PNG/JPG (eg. PDF), change the HTML code to: <a href="VALUE"></a>
Optional: you can add the Name from the first Iterator ("Flow control (2) - Iterator") to display the name of the purchased variant (eg. "Personalized Dog Tshirt - White/S")
Skip this step if following case 2 - Trigger when an order is fulfilled
Because it'll take a few minutes for Teeinblue's design to be generated, you should add a delay in sending the design URL to your customers to make sure the image is ready when your customers receive the email.
Click on Tools ➝ add Sleep module & connect it with "Text aggregator" module.
Enter the number of seconds you want to delay (recommend "60").
Should not set a long delay because there's a 5-minute limit execution time for an operation in Make.
To send an email to your customers, you'll need a sender email. Depends on the email service of that sender email, choose a module of that email service. In this example, we'll use "Gmail".
Click on Add another module ➝ search and add an email service.
Choose Send an email option.
Link it with the previous module ("Sleep" module or "Text aggregator" if you skip step 6).
*You might skip this step if you've already connected.
Click "Add" ➝ enter a name for the connection ➝ choose your mail account to authorize and connect.
For more instruction of this step, please follow this Make instruction:
- Mail module: link
- Gmail module: link
Connection: select the Email connection you've just created.
To: search and select the Customer: Email from "Shopify (1) - Watch orders".
Tips: you can add your email address to test the scenario.
Subject: enter a subject for the email. Recommend adding the Order number from "Shopify (1) - Watch orders" so your customers can recognize their order.
Content: type your email content. And remember to add the "Text" from "Text aggregator" - it's the text you created in step 5, which contains the design URL ("Value").
All done! Then you can enable and schedule for this scenario (In Free plan, the minimum time is 15mins, you can upgrade to a higher plan to shorten this schedule).
Remember:
If you follow case 1: all new orders will enter the flow automatically.
If you follow case 2: you must mark orders as fulfilled to make them enter the flow.
A complete scenario will look like this:
Basically, this is how it works:
When an order is created, Teeinblue adds the URL of order design to the Line item properties of each order item in Shopify Orders (make sure you've selected the "Line item property" option in Teeinblue's General settings > Add order design URL to Shopify Orders).
A 3rd-party software will read the latest Shopify Orders and take the order design in the Line item properties to send to your customers' emails automatically.
Teeinblue's design URL is available instantly, but the image in that URL might need 1 - 5 minutes to be generated.
Therefore, to make sure the design is ready to be sent to your customers, you should:
Add a delay for your 3rd-party tool to read the order a few minutes after it's created.
Or use the action "Mark as fulfilled" to trigger the 3rd-party tool.
In this article, we'll help you guys setup Make (formerly Integromat) to do that.
This software helps you create automation flow between multiple platforms. It offers Free plan for you to get started, you can check out make.com website and register.
Before getting started, make sure you've created a Make account.
STEP 1. Create a new scenario
After registering, go to your account and click on Scenarios page.
Click on Create a new scenario button.
STEP 2. Configure "Shopify" module to get orders from Shopify
2.1. Add the "Shopify" module
Click on + button ➝ search and click to add "Shopify" module.
Choose Watch Orders option.
2.2. Create a new Shopify connection
*You might skip this step if you've already connected.
Click "Add" and enter your Shopify domain to connect with your Shopify account. You will need to install Make app to your Shopify store (For more instruction of this step, please follow this Make instruction: link).
2.3. Enter Shopify module's configuration
Follow one of these two cases:
Case 1: Trigger when a new order is created: all new orders will automatically enter the flow to send an email.
With this way, all steps are automatic so you don't have to do anything, but you won't have a chance to review the orders.
- Connection: select the Shopify connection you've just created in step 3.
- Status: open
- Financial status: paid
- Fulfillment status: any
- Limit: based on your demands (it's the maximum number of orders enter this scenario at a time)
Case 2: Trigger when an order is fulfilled: mark orders as fulfilled to make them enter the flow.
With this way, you can review the orders, but you will have to manually mark an order as fulfilled in order to send an email.
- Choose the same options as case 1, except for the "Status" which should change to "closed".
After that, in the "Choose where to start" popup, select the option based on your demands. If you want to start on upcoming orders, choose "From now on".
STEP 3. Extract orders with "Iterator" module
3.1. Add the first "Iterator" module
Click on Flow Control (under Tools) ➝ choose Iterator module to add it to the scenario. It'll show as "Iterator (2)".
Drag the "Iterator (2)" module close to the "Shopify (1)" module to connect them.
(optional) Add a filter between Shopify & Iterator to filter "fulfilled" orders (only for Case 2 - Trigger when an order is fulfilled)
Skip this step if you follow Case 1 - Trigger when a new order is created
- Click on the wrench icon between the "Shopify (1)" & "Iterator (2)" module > Setup a filter.
- Condition: search and select "Fulfillment status" item from "Shopify (1) - Watch orders" module
- Equal to: type "fulfilled"
3.3. Set up the "Iterator (2)":
Click on the Array field ➝ search for "Line items" ➝ click to add the "Line items[]" from "Shopify (1) - Watch orders" to the Array.
This will help get a list of each line items in Shopify Order.
3.4. Add & set up the second "Iterator" module ("Iterator (3)"):
Add a new "Iterator" module, it'll show as "Iterator (3)", and link it to the "Iterator (2)".
In the Array field ➝ search for "Properties" ➝ click to add the "Properties[]" from "Flow control (2) - Iterator".
This will help get a list of properties of each line items.
(optional) STEP 4. Filter "Digital download" orders
Skip this step if all of your Teeinblue orders are for digital downloads.
4.1. Add an additional option in Teeinblue
In your artworks, add an "Additional Option" for customers to choose "Yes" or "No" for "Digital download". You can also use "Addon Charge" to charge extra for the digital version.
Must enable the "Show customization data on cart/checkout" to add the customers' selection to Line item property.
4.2. Add & set up the third "Iterator" module ("Iterator (4)"):
Add and set up a new "Iterator (4)" the same as "Iterator (3)".
In the "Array", choose the same "Properties[]" from "Flow control (2) - Iterator" (not from the "Flow control (3) - Iterator").
4.3. Add a filter between "Iterator (3)" & "Iterator (4)" to only process order items having "Digital download" = "yes":
Click on the wrench icon between the 2 modules ➝ Set up a filter
Add the first condition:
- Condition: choose the "Name" from the "Flow control (3) - Iterator"
- Contains (Case insensitive): type "digital"
Add another condition (AND):
- Condition: choose the "Value" from the "Flow control (3) - Iterator"
- Contains (Case insensitive): type "yes"
STEP 5. Get Teeinblue's design URL
5.1. Add a "Text aggregator" module
Click on Tools (under Tools, next to Flow control) ➝ choose Text aggregator module to add it.
Link it with the "Iterator (4)" (or "Iterator (3)" if you skip step 4).
5.2. Add a filter between "Text aggregator" & "Iterator (4)" to get the correct URL
Click on the wrench icon between the 2 modules ➝ Set up a filter
Add a condition:
- Condition: choose the "Name" from the "Flow control (4) - Iterator" (or "Flow control (3) - Iterator" if you skip step 4).
- Contains (Case insensitive): type "_tib_design_link"
5.3. Enter Text aggregator's configuration
In the "Source module" field, select the first Iterator ("Iterator (2)").
This will help merge the design URLs of the line items from the same order to one email.
Click on the Text field and enter:
- Click to add the "Value" from "Flow control (4) - Iterator" (or "Flow control (3) - Iterator" if you skip step 4).
This "Value" will return the URL of the order design (found in Line item property "_tib_design_link").
Insert this HTML code before the Value item: <img src=" and insert this after the Value: " width="500" height="500" /> <br/>
The whole Text should look like this: <img src="VALUE" width="500" height=500" /> <br/>
Note: The width="500" will be the display size of the design image attached in email sent to customers. You can change the 500 (pixel) to the number you want (recommend 200 - 800px). It doesn't affect the original size when customers download the image.
If your design format is not PNG/JPG (eg. PDF), change the HTML code to: <a href="VALUE"></a>
Optional: you can add the Name from the first Iterator ("Flow control (2) - Iterator") to display the name of the purchased variant (eg. "Personalized Dog Tshirt - White/S")
(optional) STEP 6. Add a delay (only for Case 1 - Trigger when a new order is created)
Skip this step if following case 2 - Trigger when an order is fulfilled
Because it'll take a few minutes for Teeinblue's design to be generated, you should add a delay in sending the design URL to your customers to make sure the image is ready when your customers receive the email.
Click on Tools ➝ add Sleep module & connect it with "Text aggregator" module.
Enter the number of seconds you want to delay (recommend "60").
Should not set a long delay because there's a 5-minute limit execution time for an operation in Make.
STEP 7. Set up email
7.1. Add an email service module (Email, Gmail, ...)
To send an email to your customers, you'll need a sender email. Depends on the email service of that sender email, choose a module of that email service. In this example, we'll use "Gmail".
Click on Add another module ➝ search and add an email service.
Choose Send an email option.
Link it with the previous module ("Sleep" module or "Text aggregator" if you skip step 6).
7.2. Create a new Mail connection
*You might skip this step if you've already connected.
Click "Add" ➝ enter a name for the connection ➝ choose your mail account to authorize and connect.
For more instruction of this step, please follow this Make instruction:
- Mail module: link
- Gmail module: link
7.3. Enter Mail's configuration
Connection: select the Email connection you've just created.
To: search and select the Customer: Email from "Shopify (1) - Watch orders".
Tips: you can add your email address to test the scenario.
Subject: enter a subject for the email. Recommend adding the Order number from "Shopify (1) - Watch orders" so your customers can recognize their order.
Content: type your email content. And remember to add the "Text" from "Text aggregator" - it's the text you created in step 5, which contains the design URL ("Value").
All done! Then you can enable and schedule for this scenario (In Free plan, the minimum time is 15mins, you can upgrade to a higher plan to shorten this schedule).
Remember:
If you follow case 1: all new orders will enter the flow automatically.
If you follow case 2: you must mark orders as fulfilled to make them enter the flow.
A complete scenario will look like this:
Updated on: 21/08/2024
Thank you!