8 Replies Latest reply on Sep 9, 2013 3:03 PM by 22662

    Cannot call webhook in batch campaign

      I've set up a webhook and i'm trying to call the webhook when a campaign runs. However, each time it runs I get an error message saying "Cannot call webhook in batch campaign" 

      I want the webhook to call a url for each lead that is in the smart list. It seems that the smart list mode is set to batch. Is there a way to change it's mode?

      Thank you. 
        • Re: Cannot call webhook in batch campaign
          Sai,
          Webhooks is only available in triggered campaigns.  Please share more details about your usecase with me (raj@marketo.com) so that we can consider supporting it in batch campaigns as well.  What does the URL do - does it return any values that have to be processed?  What are the filters in your smart list?

          Raj
          • Re: Cannot call webhook in batch campaign
            Thanks Raj. The reason we wanted to work with batch campaigns is because we wanted to implement a data-append service for leads in the campaign.  

            One more question about the webhook: I'm wondering if there's a way to send the Lead Id in the URL? I can't seem to find it in the list of tokens. 
            • Re: Cannot call webhook in batch campaign
              Oh, actually, another question. Is it possible to modify the webhook using any API calls? It's fine if there arn't any ways, we're curious if webhooks can be adjusted without going to Admin->Webhooks.
              • Re: Cannot call webhook in batch campaign
                Sai,
                We don't expose the LeadId token and the webhooks cannot be modified through an API.  For the data-append service, how often is the data appended?  

                Raj
                • Re: Cannot call webhook in batch campaign
                  Jim Ruberto
                  Just a quick solution to the original question -- I set up a small webservice to perform a custom data validation and needed to run it on my whole database.  Attempting to call the webhook directly from a batch campaign resulted in the "Cannot call webhook in batch campaign" error on each call.  However, the following abstraction permitted this use case:

                  1) Place the webhook call in a trigger campaign with a trigger of "Campaign is requested"
                  2) In your batch campaign, use a flow step of "Request Campaign", rather than calling the webhook directly

                  This allows the webhook requests to queue up properly and execute for each qualified lead.  Hope this helps someone.
                  • Re: Cannot call webhook in batch campaign
                    Jim,
                    What you are proposing will flood the system with trigger campaigns and is precisely what we don't support.  Depending on how many leads you are processing, it could bring down your own subscription.  So, please refrain from doing this.

                    Raj
                    • Re: Cannot call webhook in batch campaign
                      Jim Ruberto
                      I would like to know more about this.  The constraints placed on the system led me to believe that this was the "right" way to achieve a batch execution of a webhook.  My assumption being that queueing up campaign requests (rather than direct webhook calls) would give Marketo an opportunity to throttle the calls to an acceptable rate.

                      I definitely have an infrequent need to call an external web service on a group of leads, and would very much like to do it the right way.  Can you offer rough numbers of acceptable use, or a best practice to suit this use case?

                      Thanks very much!
                      • Re: Cannot call webhook in batch campaign
                        Jim,
                        Giving you a number is difficult, because there are a number of other factors at play.  For e.g, if you already have a big backlog of trigger campaigns, you do not want to use this method to call WH on even 5 more leads.  This is a slippery slope that I'd rather not go down, so the answer remains - "this is not a supported configuration"

                        Raj