Guide: Sending an API call via Zapier to get Integration column values!

Hey everyone,

Alex here from the Developer Success team! I hope your projects are running smoothly :sparkles:

Ever wanted to make a custom API call inside Zapier? Well, I wanted to share a quick guide with you today that explores the 2 following topics:

  • How to run a custom API query to monday.com using Zapier;
  • How to use that query to get Integration column data (using SalesForce integration column);

As you might be aware, currently, our Zapier integration doesn’t allow you to get integration column values. You might be thinking “the What? Column value?” and I’d love to shed a bit more light on this.

So… what is the integration column?

The Integration Column is a column type that is added for some of the native integrations that monday.com offers, usually for those that are able to sync future changs from the target platform. For example:

This column stores information about the object from your Target platform that was created as part of an integration. This helps the platforms communicate to the correct points of data quickly, as there is a match of a monday.com Item to the ID from the other platform. In the screenshot above, it stores data about the Trello card that led to an item being created on your board. Pretty neat!

Got it! So how do we get those neat values then?

There is a way to get the Integration column data, and you can use the Custom Request and Formatter Modules to get the values you are looking for :slight_smile:

So let’s get started!

How to make an API call on Zapier?

First, we’ll need to figure out how to make an APi query to monday.com by using Zapier. We can use the Custom Request module for this. You’ll need to make sure it is set up the following way:

  • POST as the method;
  • https://api.monday.com/v2 as the URL;
  • Headers should include:
    • Authorization: [Paste in your API key here];
    • Content-Type: application/json;

The Data field is where you’ll insert your API request:

Here is the query that I’ve used in the Data field. You’ll need to make sure your Integration column ID matches the column ID on the platform

{“query”:"{boards (ids:BoardId){items (ids:ItemId) {name column_values(ids:“salesforce_object”) { value text}}}}"}

If you have a previous step in Zapier that relates to monday.com, you can also use the Board and Item ID values from that step. In my screenshot example, the first Zap would trigger when an update on monday.com board is posted, and I could then use those IDs to query that specific item’s integration column.

Making those values usable - How to apply Formatter to the output.

The result is a JSON string, and we’ll need to take an extra step here to get the SalesForce object ID that we can work with. We can get the value we are looking for by using Zapier Formatter.

Now, choose the Formatter Module, then the Text Action:

  1. In the next step, we’re going to want to Split text. This will allow us to use the overall output of the API request to get meaningful chunks of data:
  2. The input should reflect the data returned by the API Query from earlier:
  3. As your Separator, use quotes:
  4. Then, use All (as Separate Fields) as the separation option:

The final output should provide you with the following set of items:

You’ll then be able to use those items in your Zap’s next steps: Good luck!

I hope this helps you if you’re just starting out with Zapier, or already a heavy user and looking to expand on the options we currently provide.

3 Likes

Hi @AlexSavchuk,

This is really great, thanks.

We might need something akin to the integration column for an App we are discussing with a partner right now.

Will it be possible to build one for that specific App project?
If not, do you have a timeline or would you rather recommand an other way to manage the connexion with the external service?

Thanks again
Laurent

2 Likes

@LaurentConroux

That’s a great question! Sorry for my delay in response here.

Just to make sure we’re on the same page here, are you planning on using the Integration column as a way to store the ID of the data piece from the external platform you’re looking to connect with?

I’m afraid that at the time, we do not officially support the Integration column type yet, so I wouldn’t recommend using it in app development purposes, though I definitely understand how it might seem like an appealing option. While I can’t commit to a date on when we’d support this kind of feature, I’m more than happy to pass the feedback along to our product team for further consideration - it would definitely help with building apps that connect monday.com to other platforms.

In the meantime, I would recommend using the Text column, in most cases, and then restricting editing rights of that column in most cases. What do you think?

I hope this sheds a bit more light on this :slight_smile:

-Alex

Thanks @AlexSavchuk,
We hoped to store at least the id and the date of last synch.
We would rather not trust any user to edit them, event an admin.
Thanks anyway
Laurent

1 Like