I am sending emails from marketo and i would like when a user is unsuscribe from marketo's email, unsubscribed from intercom too.
Is intercom synchronized with your CRM as Marketo is? If so, you can sync the unsub with the CRM and from there, sync it with Intercom.
Otherwise, this will take some custom dev with APIS or the use of an ETL (MUV, Bedrock data, Informatica, ...) Look for one that have both an Intercom and a Marketo connector.
Yes, this one is simple. (integrations that sound simple often are complex to outright impossible, but this one is one of the good ones.)
Intercom's API uses permanent access tokens. So you can call the /users endpoint from a Marketo webhook and set unsubscribed_from_emails to false. A developer can set this up in a few minutes.
In a similar scenario, if the unsubscribe goes from True to False in Marketo, is there a way to use the same webhook to communicate the "resubscribe" back to Intercom?
Yes, same idea.
Sorry, meant to reply here....
This is helpful, but a few more questions.
What happens if you are connecting to multiple workspaces in intercom under the same account? Does the marketo hook just sync with both?
We don't have a 1:1 sync with intercom and Marketo contacts. What happens if the webhook calls someone in Marketo that doesn't exist in Intercom already? Ideally, I don't want a new user to be created (just ignored). I guess I can just add a filter to the trigger that suppresses out any intercom users, but just wondering as a fail safe.
The /users endpoint is an upsert (i.e. creates the user if not already there) as long as your lookup is on the email field.
If you happen to have the user's Intercom id synced to Marketo -- an excellent idea! -- then you can do just an update, by looking up by id (/users/:id), or simply skip the Call Webhook if there's no id.
Retrieving data ...