Salesforce: Is "Watch Records" the most efficient way to do this?

I have contacts in Salesforce and there are 3 fields on those contacts that, when any of them is updated, Make updates them in Sendinblue.

As you can see below, the scenario is watching records in Salesforce and then filtering on those 3 fields, which means every time a Salesforce contact is updated, it’s using an operation. Is there a better way to do this without wasting operations? Thanks!

Yes you can custom code a webhook into Salesforce, that only triggers when a new record is added: DeveloperForce

Or by using this: salesforce-webhooks - npm

Beside this only lowering the polling (so called timer) is applicable.

2 Likes

Thank you, I’ll post here for others if I get this working at some point.

I am encountering a similar issue with Hubspot as the trigger instead. Zapier’s native functionality includes app triggers that can watch a specific field (like the deal amount, stage, etc…), for changes, and then provoke the sequence of actions that you want to happen after. I’m trying to replicate similar functionality in Make, but it looks like it can only natively watch an entire object/record, and therefore any changes to an object or record will count as a change and therefore result in an operation (which is inefficient).

The types of changes I would like to look for would happen far less frequently than monitoring for all changes, so the workflow is being unnecessarily triggered for general activity (like emails associated with the deal). If you have a polling frequency of 1 minute, for example, then you are more likely to actually trigger it every minute despite no operations being necessary, and that could easily result in some thousands of operations without any actual actions ever taking place.

I explored the webhook option, but at least for HubSpot, this is an extra feature that you need to sign up for their operations plan for. We are already paying a fortune for sales, marketing, and CMS, so it seems crazy to have to purchase this add-on, and odd that Zapier has managed to accomplish this functionality without the end user needing to do anything in their hubspot (salesforce) instance.

Please post back here if you manage to find a work around. I’m also curious about your Get a Contact step. Is this running multiple operations if multiple records were updated, or does it run just one operation, pulling all contacts that match the updated contacts from Salesforce?

I’ll let this run for a couple of weeks to see how many operations I’m using. If necessary, I’ll look at Salesforce webhooks but will probably need to hire help for that.

As for your question about the Get a Contact step, my understanding is that there are 2 settings that influence this. There are the scenario settings, which I have set to the default of 1:

And there’s my Salesforce Watch Records module, set to the default of 2:

So I guess every 15 minutes, this scenario will iterate over a max of 2 contacts (1 x 2). I think I could change either of those settings to increase that number and I don’t understand how to choose which one of them to increase.

Anyway, that’s a long way to get back to your question. For each contact, it will iterate through the whole scenario, including the Get The Contact step, which is a search for just that 1 contact each time. That’s my understanding.