This guide explains how to push updates from Airtable to Mapsly and back from Mapsly to Airtable using Zapier & API, as well as how to embed Mapsly into Airtable dashboard.

Prepare your data using Google Sheets

In order to set up integration between Airtable and Mapsly you need to prepare a Google Sheet that will contain data for a one-time import. For this example we will use a simple Contacts table that will contain the following fields: id, Name, and Address:

To display IDs of your records you can use the formula field with formula: RECORD_ID():

Then, create a new Google Sheet, create the corresponding columns and move import your data to your Google Sheet:

Keep in mind, that the id field has to be stored in column A. If you want to configure different field types, please use this Google Sheets configuration guide.

Then, connect your Google Sheets to Mapsly as described in this guide.

After you import your sheet you can disable the sync between Google Sheets and Mapsly since it is no longer needed:

Generate API key

Generate an API key to your newly created data source by following this guide.

Send data from Airtable to Mapsly

There are 2 ways to synchronize your data from Airtable to Mapsly: via Zapier and via API (webhooks). Below we will explore both options.

Using Zapier

1- Log into your Zapier account, press Make a Zap:

2- Create a new Zap with trigger "New or Updated Record in Airtable":

3- Connect your Airtable account to Zapier:

In order to connect, you need to get your Airtable API key. You can do it in the Account overview:

https://airtable.com/account

4- Set up trigger:

5- Select Mapsly as your Action app:

6- Choose "Create/Update Record" event for Mapsly:

7- Connect your Mapsly account:

In the pop-up window that will open, enter the Mapsly API key you generated earlier:

8- Add every field that you would like to synchronize and pick corresponding Airtable fields:

9- Test and Publish Zap:

You can send a test request inside Zapier and then Publish Zap. After that, you can go to Airtable and create/update a record and check if it was successfully saved to Mapsly.

Your zaps will be executed once per 1-15 minutes depending on your Zapier plan. You can also manually execute them by clicking Run Zap in the Zap's context menu:

Using Airtable webhooks

Now you need to set up create/update and delete webhooks for all tables that you want to push to Mapsly. In this example, we will set up a create/update webhook and use Mapsly's API to sync it to your Mapsly account.

In Airtable click on the Automations tab and then click on "Create automation":

As a trigger select "When a record is updated" and as an action select "Run a script":

Prepare the script by adding the record variables on the left panel and inserting the following script by adding your Mapsly API key:

let record = input.config();
let response = await fetch('https://api.mapsly.com/v1/record?apikey=your_Mapsly_api_key&entity=Contacts', {
method: 'POST',
body: JSON.stringify([{
"id": record.id,
"Name": record.Name,
"Address": record.Address
}]),
headers: {
'Content-Type': 'application/json',
},
});

You should end up seeing something like this:

You can now test this webhook.

In addition, you will need to create a similar webhook with trigger "When a record is created". Unfortunately, at the moment of writing this article, Airtable does not have the "On delete" trigger for webhooks.

Send data from Mapsly to Airtable

Now we will prepare webhooks that will push updates from Mapsly back to Airtable.

First, get your Airtable API key as described in this article.

Then, go to Mapsly > Setup > Workflows > create a new workflow with the trigger: Updated. After that, Create new action > Invoke URL:

Now, you need to go to the Airtable API documentation page and select your base so that you get the ready endpoints for your base. In our example, we will scroll down to Contacts Table > Update records tab:

Then, set up this request as shown in the screenshot example below by choosing the PATCH method, JSON content type, target URL, header parameter (with your Airtable API Key), and the following body:

{
"records": [
{
"id": "{{ record.id }}",
"fields": {
"Name": "{{ record.Name }}",
"Address": "{{ record.Address }}"
}
}
]
}

You can now save the workflow and test the automation by updating a record in Mapsly.

Similarly, you can prepare an "On create" workflow that will run if you create records form Mapsly.

You need to go to Contacts Table > Create records tab:

Then, set up this request in the Invoke URL (like in the example above) by choosing the POST method, JSON content type, target URL, header parameter (with your Airtable API Key), and the following body:

{
"records": [
{
"fields": {
"Name": "{{ record.Name }}",
"Address": "{{ record.Address }}"
}
}
]
}

Embed Mapsly into Airtable dashboard

To embed Mapsly into your Airtable dashboard you need to go to Apps and add the "Embed" app:

Then, you need to add https://app.mapsly.com/

You will then see your Mapsly map inside the Airtable dashboard:

Implementation is included in your Mapsly subscription!

Your Mapsly subscription comes with implementation services, so we're inviting you to book a web call with our engineer today - to learn more about your use scenario and help you integrate Mapsly with your system. You may also ask us for help in chat any time 24/7.

Did this answer your question?