Custom Field Webhook

I’m using Integromat in one of my asana projects to trigger an automation when a custom task field is set to a particular enum value. At the moment, I have a webhook set up for all changes in custom fields for that project. After receiving the many webhook calls, I filter them for ‘x field’ changed to ‘x value’.

This works but is incredibly task-hungry in integromat (it’s also not that quick since it’s processing so many changes all the time). It triggers about 14,000 times per day and runs only once or twice.

Does anyone know if there’s a way for me to filter more effectively, so the webhook doesn’t trigger so many times? Alternatively, is there a way to have a ‘bridge’ program? I could send the webhook to some non-integromat server, which filters for only that custom field, and then sends the relevant data on to Integromat?

Just an idea but I have no idea what that would be. I’m no expert.

There’s no capability in the Asana API to filter on one specific custom field. You could create an intermediate program to do the filtering if you have those coding skills (or you could hire someone).

@Peter_Bradshaw I’ve been working on a solution for these task-heavy posts for a couple months now. If you have thousands (or even hundreds) of triggers that only result in a few runs per day, your configuration can definitely be optimized.

Assuming you have optimized your webhook filters in asana and also want to keep communication relatively instant (i.e., not polling asana every 5 mins), it’s time to create some robust filtering in integromat.

I’m not very experienced with integromat specifically, but after brief look at their platform, it looks like you can filter immediately after a trigger, like most IFTTT’s. Experiment with filters that will only allow data to pass that meets the criteria of a ‘run’ scenario, like:

  • filter only records where ‘modified_at’ is within the last few minutes, or
  • create a custom field in asana that updates with datetime after a scenario run in integromat, then filter based on the field.

if you’re looking for specific field updates, you might revisit your rest hook filter, as asana’s api does allow you to get pretty granular. Review the ‘changed’ filter type and the fields applied, then create filters based on the fields, their respective update times, and data you’ve chosen when they arrive in integromat.

good luck, hope this is helpful!

also - thanks for sending me back over to integromat - they’re very reasonably priced!

2 Likes

If you guys need any assistance with Integromat, @Michaela_S who works there has been incredibly helpful here in the forum.

1 Like

It may come to this, unfortunately.

At the moment, I am using the Asana Webhook module in Integromat, not the standard ‘custom webhook’ one. It attaches the webhook automatically to Asana. From what I can see it only allows me to filter for changes to custom fields within a project, and for the resource type that created that change. There is a ‘resource subtype’ filtering box but it doesn’t work, apparently. There seems to be no further way of optimising the webhook filtering within integromat.

I assume it triggers so many times because it also triggers as custom fields are filled? We have an automation creating tasks in the project and filling out all the custom fields. It’s the only explanation for the number of triggers that I can think of.

This is what I was doing, but unfortunately a trigger still costs 1 ‘operation’, so when that occurs 14,000 times per day, it isn’t very cost effective. Nearly 400,000 operations/mo is a lot for such a small automation! I need to find some way of filtering the data before it arrives in integromat, as that’s really the expensive part of the automation. As Phil said, it might require an intermediate program, which is what I was thinking.

This is the reason we switched to them! We were with Zapier but it was so incredibly expensive and difficult to use!

Anyway, thank you for your advice! @as_an_android

That’s not Integromat, that’s Asana - Asana webhook filtering doesn’t currently support filtering by the resource_subtype field.

It does sound like a lot of firings. Can you perhaps post a screenshot of your current filter?

@Peter_Bradshaw I see…the plot thickens!

perhaps, rather than bringing in a new service as ‘middleware’, an integromat replacement that doesn’t bill based on trigger events is a more functional solution?

Zapier is more expensive than integromat, but placing a filter immediately after a trigger stops the ‘zap / scenario’ and doesn’t count toward total ‘tasks’.
Zapier’s billing is simpler than integromat and based on ‘tasks’, which can be a 300 line python script code or a single datetime format, depending on how optimized your zaps/scenarios are.

Perhaps trying this out would be a good next step.
*FYI, you can also just use zapier to handle this filtering and send the filtered results via webhook to your integromat set up.

In terms of custom fields - how is integromat currently interatacting with them? If you need integromat / zapier to write to custom fields, I’ll share my custom webhooks request that accomplishes this, as Zapier hasn’t added that specific functionality yet.

2 Likes

I can’t believe I forgot this. I was using Zapier for months but for some reason I totally forgot that triggers don’t count as tasks, as they do in Integromat. Also, is it the case that, if data passes through a Zapier filter, that then counts as a task? I swear I remember filters costing me tasks at some point. Could be wrong though.

Regardless, this is a great solution. Thank you so much.
I have now set up a webhook+filter on zapier and, like you said, it’s not costing me any tasks unless it passes through the filter.

Again, many thanks.

Hey guys, Michaela from Integromat here :wave:

Sorry for the slightly delayed reply!

What you’re talking about sure is a tricky thing to deal with. The best approach with Integromat would be to build a custom app. It would then filter out the junk you don’t need and it would not count as an operation.

If you don’t really have the time, energy or capacity to be building your own apps, you can always check out the list of our Integration Partners and choose the one closest to you. They are always happy to help Integromat users with their advanced needs and wishes :slightly_smiling_face:

Anyway, this is a fun coincidence, as we’ve recently hosted a webinar on custom apps. It might not necessarily cover what you’re looking to do but it gives an interesting insight into what can be done with Integromat custom apps. Just gonna leave the link here in case you were interested to learn more:

If you have any questions, feel free to ask here or DM me :slight_smile:

1 Like

Thanks for tagging me and thanks very much for the kind words, @Phil_Seeman :slightly_smiling_face:

1 Like

You’re right, it is a lot. I was confused by the number of firings as well as we certainly don’t make 14,000 edits per day. We have an automatic filing of form submissions coming into the project. We get about 70-100 on a busy day so that doesn’t really account for such high use.

I’ve since deleted the webhook, but I’ve created a new one in Integromat just as a test. I’ll monitor it and let you know if it still has such crazy high usage.

It’s created using the Asana module in integromat, so you don’t actually write the whole webhook, but the filter is effectively:

{ “action”: “changed”,
“fields”: {
“custom_fields”
}
}
With the webhook watching the project and the resource type as task.

@Peter_Bradshaw glad zapier does the trick - happy to help!

Thanks for sharing the webinar, @Michaela_S - I just started digging into integromat this weekend and have been enjoying the easily accessible advanced functions in the UI. I poked around but hadn’t found the custom app option until now. Very happy to see that we can write our own js!

If a custom app trigger filters data and doesn’t use any operations, It would be a better long term solution for the problem described in this post. Can you confirm this is the case, or would there still be at least one operation used per custom script run?

Also would like to confirm that custom apps can be run in js only and not python.

Thanks!

1 Like

Hey @Peter_Bradshaw, I’m very happy to hear that you’re enjoying the functionality and the visual nature of Integromat. That’s awesome to know!

I can totally confirm what has been said :arrow_up: You can filter the webhook before it enters the Integromat engine so it does not add operations.

You can see more on this in our documentation on webhooks.

Also yes, the custom apps are written in our “Integromat” JS which is a standard JS abstraction.

Hope this helps :slightly_smiling_face: