All Collections
Automations & Migrations
Setting up automated file transfer and status updates with Make
Setting up automated file transfer and status updates with Make
Updated over a week ago

This is an advanced guide for customers who today use the Manual approval feature and offer products that need to be manually changed by your graphic designer before being approved and the product sent to the customer.

The goal is to help automate your workflows as much as possible by removing the need for an order manager to manually approve the order and upload the new artwork.

This guide assumes you have already followed the steps in Preparation for Automated processing.

Note that this is just an example of how you can work with Make and Gelato together. You are free to change and adapt this so it suits your own workflows. We have chosen to use Make together with a Google sheet here as it is a popular way of working with Make. You could have used any other type of spreadsheet/database such as Airtable or Make's built-in database solution as two examples of other ways of doing this.

We will set up 2 things in this guide:

  1. Sending the files from your system to the Amazon S3 bucket that you set up in the Preparation for Automated processing and making a Google sheet list of orders that have been added to the S3 folder

  2. Set up an automated way of tracking the status of each order as Gelato processes them. This gives you an overview of what has happened to each order/file you provided in Step 1 and can help to find cases where we were not able to process the order for any reason.

The Google sheet that is referred to below can be found here. Make a copy of it to easily follow along.

Sending files to S3 and making a list of orders that are sent

The example here uses Google Drive but it works with any other cloud storage that Make offers as an integration.

Start by importing this example blueprint to Make (Please, find it attached at the end of the article).

It will look similar to this


You need to configure the Google Drive, S3, and Google Sheets modules with your own credentials and correct folders. You got the credentials for Amazon S3 when you configured the access keys for it in the Preparation step. The text parser and array aggregator should not need to be modified. They are configured to identify the Gelato-recommended file name pattern for files to be processed automatically.

The scenario monitors for any new files that have been added to your Google Drive. When new files are detected it will download them and then:

  1. Send them to your S3 bucket, where Gelato will pick them up and process the actual orders

  2. Make a list of all of the orders that have been added to the folder so you can keep track of which files/orders have been sent to Gelato and when.

For the list, an array aggregator is used to only have one-row entry in the Google sheet regardless of how many files one order has. For example, if you for order #1042 have 3 files that need to be processed then they will be named 1042_1, 1042_2, and 1043_3. By default that would have created 3 rows in the Google sheet which would make it hard to keep track of.

The text parser and array aggregator removes everything after the "_" and aggregate all entries of 1042 and sends only one entry for 1042 to the Google sheet list.


Running the scenario with the files in the screenshot above the resulting Google sheet looks as


Now all of your files will be automatically sent to Amazon S3 for processing by Gelato and you have your own list of which orders you have passed to Gelato.

In the next step, we will make the Google sheet updated with the latest order status for each order.

Automate the tracking of order status in a Google sheet

From the last step, you now have a list of all orders that you want Gelato to process. Now let's set up so that the list is updated automatically when the order is processed, printed, and then shipped by Gelato.

Start by importing this blueprint (Please, find it attached at the end of the article).

The scenario should look like this


You will need to start by setting up the Webhook module. Start by reading through Make's own help article on Webhooks. Next, set up the webhook in the Gelato Webhooks section. For more information about Gelato's webhooks see this article.

Start by adding a webhook name in Make and you will receive a URL for your webhook. Then go to the Gelato dashboard and create a new notification (i.e. webhook). Paste the URL in the field 'URL'. Select Event Type to be 'Production Status Update' and Method to be 'HTTP POST'. Click 'Create'.

Now the webhook is set up.

The next step is to send test data to Make so it learns the data structure. Click "Send test notification" in the Notification in the Gelato dashboard. Select Event 'Order status'. Then a sample event is shown below. You can modify it as necessary. We recommend you change ##{{MyOrderId}} to an order ID that resembles your own order ID such as 4782 for example.


Click "Test Notification". A test notification will be sent. You get a confirmation that it is sent on the right-hand side as below.


Go back to Make and it will show that it has captured the data structure as it has received a sample event.

Next, configure the remaining Google sheet connections so they are connected to your sheets. The blueprint is already configured so that if an order already exists the row will be updated.

You should select the same sheet to be updated as in Part 1 where you set up the list of orders you had sent to Gelato.

Now your Google Sheet is automatically updated with the latest status for each of your orders.


If an order is not able to be automatically processed by Gelato then it will remain in status "Sent to Gelato". This way you can easily review them manually. The most common reason why Gelato wasn't able to process the order was that the file name was not by the recommended Gelato file name structure.

Did this answer your question?