FAQ: How can I use JSONPath in Webhook & Intake Form Zibots?

    The Webhook and Intake Form Zibot fields can contain data values taken from previous Zibots and the starting event. All open text fields in webhook settings support JSONPath syntax.

    You can get the value from starting event object by typing its name preceded by {$. characters. There are currently three objects that you can get values from depending on the event and webhooks used in the flow:

    • Proof - by typing in {$.proof}
    • Stage - by typing in {$.stage}
    • Reviewer - by typing in {$.reviewer}
    • Intake form - by typing in {$.form}
    • Zibot - by typing {$.zibot[#].data} where # is the zibot place in the flow starting from 0

    Please note that there are different values that you can get depending on the type of the event trigger:

    • New proof/version - {$.proof...}
    • Decision on proof - {$.proof...}
    • Decision on stage - {$.proof...} and {$.stage...}
    • Decision on reviewer - {$.proof...} and {$.reviewer...}
    • Comments - {$.proof...} and {$.comment...}

    To get a specific value in the JSON return object you can write a path in which that value is placed. To see proof JSON object returned from the proof creation event you can check our API reference page. To see other applications RestAPI JSON return object you need to see their API documentation.

    Some examples:

    • Folder name - If you would like to pass a Folder name of the proof that triggered a flow you could do it by typing in {$.proof.folder.name}
    • Proof creator - To pass proof creator last and first name fields you should type in {$proof.created_by.first_name} {$proof.created_by.last_name}
    • First stage name - You can also get a value from an array by typing in {$.proof.stages[0].name}

    Webhook fields works with all JSONPath expression standards.