6 Replies Latest reply on Dec 8, 2018 1:08 AM by Sanford Whiteman

    Mass-Updating Forms

    Kim Wieczner

      We are in the process of adding fields to many (and soon to be all) of our forms. We have come across this article about making this update in bulk via the API. Does anyone have experience with this?

       

      1. Are we able to append fields to existing forms using the update endpoint referenced here(http://developers.marketo.com/rest-api/assets/forms/#create_and_update): POST /rest/asset/v1/form/736.json?name=updated name&description=This is a test for update api&language=English&progressiveProfiling=true&locale=en_US
      2. How is existing form logic handled when updating a form? i.e. layers of visibility rules and progressive profiling
      3. How can we mass export all approved form names with their ID numbers?
      4. Is it possible to update all of the Marketo landing pages where these forms live at the same time?
      5. Is it possible to see what non-Marketo pages are using our forms?

       

      Any/all help is appreciated. Thanks!

        • Re: Mass-Updating Forms
          Sanford Whiteman
          Are we able to append fields to existing forms using the update endpoint

          You add with the /fields.json endpoint.

           

          How is existing form logic handled when updating a form? i.e. layers of visibility rules and progressive profiling

           

          There's an endpoint for VRs, /visibility.json. ProgPro is considered a pseudo-field in itself.

           

          You can learn a lot more by reverse-engineering forms. The methods are not all totally clear from the docs (though, to be fair it, it's one of the most complete doc sections on the Developer site -- it's just really complex).

           

          How can we mass export all approved form names with their ID numbers?

          The main /forms.json endpoint.

           

          Is it possible to update all of the Marketo landing pages where these forms live at the same time?

          Approving LP Templates and LPs is done via those other endpoints, not the Forms endpoints.

           

          Is it possible to see what non-Marketo pages are using our forms?

          No, not if you haven't already set up some kind of auditing process (i.e. using the Munchkin API to send an activity to Marketo when a form is loaded).

          1 of 1 people found this helpful
            • Re: Mass-Updating Forms
              Kim Wieczner

              Thank you, Sanford! We'll take a look through all of this.

              • Re: Mass-Updating Forms
                Victor Herrero

                Hi Sanford,

                 

                I'm very interested in two of the answers:

                Are we able to append fields to existing forms using the update endpoint

                You add with the /fields.json endpoint.

                Say we have a case of "Episode II: The GDPR Strikes Back" and we need to modify ALL forms with an additional checkbox... It's possible to mass modify all forms with this same modification via API? (If yes, I wish I had known and I really need to look into becoming a developer)
                I imagine that this would also be a case of "With great power comes great responsibility" since you could also break all of your forms in one fell swoop, which would bring me to another question:

                Could you export all of your form's current settings / setup as a backup?

                 

                Is it possible to see what non-Marketo pages are using our forms?

                No, not if you haven't already set up some kind of auditing process (i.e. using the Munchkin API to send an activity to Marketo when a form is loaded).

                This a very interesting setup, could you share a little more information on this?

                I'm a total stranger to the API world, but I feel like I should get to know it better.

                Currently we are in the process of "spring cleaning" (#globalwarming) and would like to inventory all of our assets to determine which ones are currently active.

                With landing pages we could run reports, but with forms I'm not sure about how to determine the ones currently in use, so I suggested we (and by we I mean them, our developers) build something like a web crawler that looks for all embedded forms (since this seem to be a preferred method for injecting them) in our website and lists at least their form ID.

                Your solution seems to work by sending something like a "heartbeat" for every form right? How are you collecting and reporting on that? 

                 

                Thanks!

                  • Re: Mass-Updating Forms
                    Sanford Whiteman

                    Say we have a case of "Episode II: The GDPR Strikes Back" and we need to modify ALL forms with an additional checkbox...

                    Episode V tho.

                     

                    It's possible to mass modify all forms with this same modification via API?

                    Yes, but it's certainly not worth learning the Forms REST Asset API for this. It would be easier to add the field using the Forms JS API (in the browser). Even so, how many forms do you have?  This is a good reason to have < 10 global forms, or centralize your forms starting now.

                     

                    I imagine that this would also be a case of "With great power comes great responsibility" since you could also break all of your forms in one fell swoop

                    Absolutely.

                     

                    Could you export all of your form's current settings / setup as a backup?

                    Unfortunately, not completely. There are still some parts of the form descriptor (the final version parsed in the browser) which are not exposed via REST Asset API.

                     

                    Your solution seems to work by sending something like a "heartbeat" for every form right? How are you collecting and reporting on that?

                    Right. A synthetic Visits Web Page event to be exact. Then run a Web Page Activity report.