Re: Bulk external-app REST calls?

Anonymous
Not applicable

Bulk external-app REST calls?

Hi!

My usage flow is as follows:
1. Import a huge list of leads from a .csv file.

2. Sending these leads using your webhooks to an external provider in order to get data on them.

What we wanted to know is how can the provider know that these leads are part of a bulk import, and not a single request.

Do you have any parameter that could be used for that?

Thanks.

7 REPLIES 7
Grégoire_Miche2
Level 10

Re: Bulk external-app REST calls?

Hi Michal,

Unless you pass this information through your webhook call, there is not way the provider might know this, as the provider will not connect to Marketo in any way.

As the only thing you can pass as a parameter to a webhook is a Marketo field, you need to create a Marketo field for this purpose. Then you will be able to populate this field either during your import or with a triggered smart campaign.

-Greg

Grégoire_Miche2
Level 10

Re: Bulk external-app REST calls?

I again,

It is likely you will not want the provider to be called twice for the same lead, so you will also be able to use this field value as a filter to know what lead you need to send to the data provider.

-Greg

SanfordWhiteman
Level 10 - Community Moderator

Re: Bulk external-app REST calls?

You could create a webhook definition that has ?bulk (or whatever the webhook endpoint wants) in the query string.  You don't to create a Marketo field to denote bulk.

Grégoire_Miche2
Level 10

Re: Bulk external-app REST calls?

Hi Sandford,

I proposed a field because it would enable to differentiate each bulk.

-Greg

SanfordWhiteman
Level 10 - Community Moderator

Re: Bulk external-app REST calls?

True. Anyway, creating an extra field is the least of the problems with bulk webhooks!

EDIT: Also, don't forget about the Smart List filter ​Webhook Was Called.

SanfordWhiteman
Level 10 - Community Moderator

Re: Bulk external-app REST calls?

Michal, I'd try to call the webhook on your client side, updating the spreadsheet before the bulk import, instead of taxing Marketo with processing a massive # of webhook callouts and updates.

As awesome as they are, webhooks do not perform well on massive runs and aren't great for your instance. The primary reason is simply the definition of a webhook: an external HTTP call has significant overhead vs. the local database calls that the Marketo app is otherwise using.  Plus, if processing at the remote end takes another second or two, you could be looking at a 5-second roundtrip per lead (and I'm being generous).  Then you have the delay while the updates are applied to your Marketo database, which happens asynchronously.  For 50,000 leads (I don't know what you meant by "huge") you could be waiting for days, which might not be so bad if you had deep visibility into the whole process, but you don't.  Whereas if you call from your workstation, you can keep a better handle on progress, for example running smaller subsets of rows at a time.

Kenny_Elkington
Marketo Employee

Re: Bulk external-app REST calls?

I would agree with this.  Webhooks cannot make bulk requests so each one is made individually.  This could dramatically slow down campaign processing in your instace, so if at all possible, preprocess your list with the external service,