Artisan IMG > Google Sheets (sheets)
Artisan IMG > Mailchimp (mailchimp)

Migrate Google Sheets contacts to Mailchimp


This is an 'Embedded Solution' template which means that it contains 'Config Slots' that allow End Users to configure it for their own use

For more details please see our Tray Embedded documentation

Please note that you will be unable to use this template if you do not have an Embedded account


Google Sheets is very often used to store details about contacts for marketing campaigns.

Manually updating contact details in a marketing platform such as Mailchimp is a time-consuming process.

And relying on manual data entry leaves space for human errors.

This template automates the process and eliminates any errors that might occur, by:

  1. Cleaning and transforming the data to be inserted into Mailchimp

  2. Inserting contacts into Mailchimp

End User experience

Once you have published your Solution, the following diagram illustrates the process from an End User point of view:

Via the Config Wizard, this Embedded template allows End Users to specify:

Once their Solution Instance is configured they can:

  • Add contacts to their GSheet

  • Trigger their instance in your app any time they are ready for contacts to be synced to their Mailchimp list


This workflow assumes the following:

  • You have a Google Sheet with Contacts data you want to migrate

  • You can authenticate with Mailchimp

  • You have a Mailchimp audience list that contacts will be assigned to

Installing and testing

1. Import the project by clicking on 'Use Template'.

2. Add auths for services (Mailchimp and Sheets)

3. Make any necessary text edits etc. in the Config Wizard (Optional)

4. Publish the solution

5. Test the solution:

Going to production

When presenting this integration in your application, you will need to:

  • Retrieve and store the triggerUrl for each End User's Solution Instance

  • Present a mechanism in your UI which allows End Users to trigger a run of their Solution Instance once they have contacts in a GSheet ready for syncing to Mailchimp

After the initial run of their instance, any time an End User wants to sync more contacts to Mailchimp you can let them either:

  • Use the same GSheet but clear it of the previous batch of contacts before new ones are inserted (you could also build logic into the workflow to delete contacts from their Sheet once the sync has been successful)


  • Edit their Instance by re-running the Config Wizard and specifying a new Sheet ID (and Mailchimp List if needed)

Solution Slots

The following auth slots are available in the template.

  • Google Sheets

  • Mailchimp

This means that, via the Config Wizard, End Users will be asked to authenticate with Google Sheets and Mailchimp so they can configure the integration for their own use

Plus the following config slots:

If required, you could set other fields as config values, or move a config field as part of the mapping:

You can get Subscription status of incoming contacts from the Sheet itself. Example. there is a column present in the Sheet with the subscription status which determines the subscription status when moved over to Mailchimp.

For this, You can edit the Custom JS on the mailchimp_merge_fields to include that column in mapping slot and edit the mapping script in the master workflow to take the field from mapping rather than the config property.