Hi,
Does Marketo allow us to have a check with an external URL on the subscription list before sending out an email. Does webhook allow this?
Yes, you could use a webhook.
There are docs around on how to do this and you can check out RingLead's old webhook guide.
Why do you need to do this?
We have two other services that need to be synced when ever a user unsubscribes. Instead, we're considering having one source of truth and have Marketo make a call to this service before sending emails.
Why not make Marketo the source of truth and use a batch API update to bring in the values elsewhere, manage the conflicts, and pass it back to Marketo?
I agree, but Mkto can still be the source of truth even if you use a webhook. Digging into the API to export and reimport daily unsubscribes is going to be a harder technical task.
was wondering if you also allow mkt_opt_out_prefix to be changed - That way, all new unsubscribes go to a custom url, which would be later synced.
No, you can't change the value of that system variable, but you can set your own unsubscribe link to anywhere you want. This is a different topic and I think you should search the Community and open another thread if you have questions.
You can do this with a webhook, yes.
But note it's not as simple as returning a true/false value from the webhook: you use the webhook to set the value of a field on the lead, and then use that data value change to take further action.
Thanks for the quick response. Could you point me to an example of this. I'm just trying to figure out how I can make the webhooks for a particular event.
What exactly are you not finding in the docs or elsewhere on the web? Webhooks are a general-use technology and Marketo supports them quite well. Set up your service to expect the {{Lead.Email Address}} -- either in the URL (GET) or in the body (POST) of the request -- and respond with a JSON object with the field(s) you want to update.
The tricky part with Marketo is that data value change is asynchronous (i.e. "in the background") meaning that you can't expect the lead field to be updated on the very next step of the flow. Some people put an arbitrary wait step. I categorically disagree with this approach. Instead, set up an SC that triggers on the Change Data Value activity, so it is always right.