Perform Contact changes through API without triggering workflows



We need to perform Contact creation and updates via API, without activating certain workflows that monitor Contact property changes.
Since on workflow interface we don't have access to the last edit user or property history, is there a way through API that we can perform Contact creation or updates without triggering the workflows?


Hi @ppaiva,

You could create and use a suppression list, either in the UI or via the API.


Thank you for the feedback Isaac,

This would ensure the need if we wanted certain contacts to always be excluded.
In our case, all contacts must pass through the mentioned workflows when they are changed through standard interface, however if the contact update is triggered via API we don't want the workflow to run.


Thank you for clarifying, @ppaiva.

Unfortunately, there is no way to filter out contacts whose properties have been changed through the API. Workflows enroll or unenroll contacts based on property values alone, not the source of their changes.

That said, if you updated a custom contact property (e.g. "Last updated via API") every time you made a change via the API, you could add an AND criteria to these workflows to exclude contacts with such a value.

For example, if you are updating a contact's first name, you would send in both firstname=value and last_updated_via_api=true (or something similar). Then, each workflow would check whether certain properties changed AND last_updated_via_api is false. Since the API-updated contact has a true value, they would be excluded from enrollment.