Skip to main content
Answered

Webhook not sending all answsers

  • 10 February 2022
  • 5 replies
  • 162 views

Hello,

Is it normal that when you have integrated some logics in your form, the webhook only send answers with the chosen logic fields ?

I would like to get all answers in my webhook result even those not filled in because of the logic.

As it is when you do a export of the answers.

Thank you for your feedback.

Regards,

Serge

Best answer by picsoung

Hi @sergevb 
Thank you for providing more details. Definitively understand better now.

This is expected, we only send you the answers to the question that got a response, to not surcharge the payload.

I see that you already personalized the field references.

In your webhook handler, you can probably have a logic that would look like 

comment = ExplainWhyInterested || ExplayYNOTInterested 

Are you relying on the index of the answer? You should probably use the ref in this case.

View original

5 replies

picsoung
Typeform
Forum|alt.badge.img+5
  • Developer Advocate @ Typeform
  • 384 replies
  • February 10, 2022

Hi Serge,

Webhook should trigger for all answers without any filter.
You should be able to debug it by looking into our webhook panel. There you should see all our attempts to deliver webhook to you.

If one failed we will keep retrying for a limited time. If it still failed you can manually trigger it.

Curious to see if you are witnessing a certain pattern, or is it at random


  • Author
  • Explorer
  • 2 replies
  • February 11, 2022

Hi picsoung,

 

Thank you for your feedback.

I think I didn’t explain may problem in the right way.

The webhook is triggering fine.

 

I meet a problem with the data/payload.

My form has 12 fields. (see screenshot)

One field is with a multiple choice :

  • IF answer = A → it goes to field 11
  • IF answer = B → it goes to field 9
  • IF answer = C → it goes to field 10

The problem is that the payload only send data regarding the choice made.

It send X or Y but it didn’t send both. (see code hereafter).

So when I receive the payload in my database, I cannot match the data with my fields because the payload is always sending 10 or 11 answers depending on the “if” answers.

 

Is there a way to send all fields in the payload ?

Even there is no answer in some due to the IF logic. 

 

Thanks you.

Serge

 


{
  "event_id": "01FVHMC616DY3NM7G07WXM5GRN",
  "event_type": "form_response",
  "form_response": {
    "form_id": "VuyNtDYa",
    "token": "t0v90fvfs6hq08y05pdxt0v90fvfmovf",
    "landed_at": "2022-02-10T10:54:33Z",
    "submitted_at": "2022-02-10T10:55:28Z",
    "hidden": {
      "projectid": "1246",
      "projecttitle": "Projet Test Serge"
    },
    "definition": {
      "id": "VuyNtDYa",
      "title": "Evaluation form - Cartoon Movie 2022",
      "fields": [
        {
          "id": "r4lUoMs1lxq1",
          "title": "Please enter *your* *login*",
          "type": "email",
          "ref": "Login",
          "properties": {}
        },
        {
          "id": "mvrN7xOb0aTa",
          "title": "Please enter your* first name*",
          "type": "short_text",
          "ref": "Firstname",
          "properties": {}
        },
        {
          "id": "El7ZxmZYCTvA",
          "title": "Please enter your* last name*",
          "type": "short_text",
          "ref": "Lastname",
          "properties": {}
        },
        {
          "id": "MROL02dx64Gi",
          "title": "*Concept*",
          "type": "rating",
          "ref": "Concept",
          "properties": {}
        },
        {
          "id": "OHTr5Aj1i0CD",
          "title": "*Graphism*",
          "type": "rating",
          "ref": "Graphism",
          "properties": {}
        },
        {
          "id": "AX3KTD4FwPxC",
          "title": "*Script*",
          "type": "rating",
          "ref": "Scrip",
          "properties": {}
        },
        {
          "id": "ATLI9GRpB3lo",
          "title": "*Market Potential*",
          "type": "rating",
          "ref": "Market",
          "properties": {}
        },
        {
          "id": "JEgrDqpBJOFh",
          "title": "*Your interest*",
          "type": "multiple_choice",
          "ref": "YourInterest",
          "properties": {},
          "choices": [
            {
              "id": "Ll8DVwyq8k2v",
              "label": "Is interesting as it is"
            },
            {
              "id": "qBJmd7qMeHiX",
              "label": "Could be interesting after improving..."
            },
            {
              "id": "3RQ2lkwRVApv",
              "label": "Not interested"
            }
          ]
        },
        {
          "id": "T3hsjszMsI3g",
          "title": "*Explain why you are not interested*",
          "type": "long_text",
          "ref": "ExlainWhyYouAreNotInterested",
          "properties": {}
        },
        {
          "id": "kNLBVv5yrYyM",
          "title": "*Your remarks*",
          "type": "long_text",
          "ref": "YourRemarks",
          "properties": {}
        },
        {
          "id": "AzwoEyfbzyHR",
          "title": "*Send me a script & the presentation*",
          "type": "yes_no",
          "ref": "SendMeScript",
          "properties": {}
        }
      ]
    },
    "answers": [
      {
        "type": "email",
        "email": "svb@thehiddensources.com",
        "field": {
          "id": "r4lUoMs1lxq1",
          "type": "email",
          "ref": "Login"
        }
      },
      {
        "type": "text",
        "text": "Jack",
        "field": {
          "id": "mvrN7xOb0aTa",
          "type": "short_text",
          "ref": "Firstname"
        }
      },
      {
        "type": "text",
        "text": "Doe",
        "field": {
          "id": "El7ZxmZYCTvA",
          "type": "short_text",
          "ref": "Lastname"
        }
      },
      {
        "type": "number",
        "number": 1,
        "field": {
          "id": "MROL02dx64Gi",
          "type": "rating",
          "ref": "Concept"
        }
      },
      {
        "type": "number",
        "number": 2,
        "field": {
          "id": "OHTr5Aj1i0CD",
          "type": "rating",
          "ref": "Graphism"
        }
      },
      {
        "type": "number",
        "number": 3,
        "field": {
          "id": "AX3KTD4FwPxC",
          "type": "rating",
          "ref": "Scrip"
        }
      },
      {
        "type": "number",
        "number": 4,
        "field": {
          "id": "ATLI9GRpB3lo",
          "type": "rating",
          "ref": "Market"
        }
      },
      {
        "type": "choice",
        "choice": {
          "label": "Not interested"
        },
        "field": {
          "id": "JEgrDqpBJOFh",
          "type": "multiple_choice",
          "ref": "YourInterest"
        }
      },
      {
        "type": "text",
        "text": "I am not interested because blabla",
        "field": {
          "id": "T3hsjszMsI3g",
          "type": "long_text",
          "ref": "ExlainWhyYouAreNotInterested"
        }
      },
      {
        "type": "text",
        "text": "my remarks here fgdmghkds",
        "field": {
          "id": "kNLBVv5yrYyM",
          "type": "long_text",
          "ref": "YourRemarks"
        }
      },
      {
        "type": "boolean",
        "boolean": false,
        "field": {
          "id": "AzwoEyfbzyHR",
          "type": "yes_no",
          "ref": "SendMeScript"
        }
      }
    ]
  }
}

 


picsoung
Typeform
Forum|alt.badge.img+5
  • Developer Advocate @ Typeform
  • 384 replies
  • Answer
  • February 11, 2022

Hi @sergevb 
Thank you for providing more details. Definitively understand better now.

This is expected, we only send you the answers to the question that got a response, to not surcharge the payload.

I see that you already personalized the field references.

In your webhook handler, you can probably have a logic that would look like 

comment = ExplainWhyInterested || ExplayYNOTInterested 

Are you relying on the index of the answer? You should probably use the ref in this case.


  • Author
  • Explorer
  • 2 replies
  • February 15, 2022

Hi @picsoung 

 

Thank you for confirming what I was fearing…

In my case, I am using the integration with “Claris Connect” to get the data of the form in a Filemaker database. This integration use the same payload as the webhook.
So in this integration,I am matching Filemaker fields with the data in the payload. As it is not always exactly the same payload that is sent, this integration is not working if you have conditional answers.

I will try to send the complete payload in Filemaker and retrieve the data with some logic but this is a lot of additional work.
Would be great to have an option in the Backend of Typeform to choose what you want to send in your payload.
Thank you for your help.

Regards,

Serge

 


picsoung
Typeform
Forum|alt.badge.img+5
  • Developer Advocate @ Typeform
  • 384 replies
  • February 15, 2022

Thank you @sergevb for the context.
Good to see someone is using Claris Connect :)

I think the logic should be on Claris before you send stuff to Filemaker.

using id or ref to identify answers, should make the transformation easier.

I noted your comment regarding the webhook experience.


Reply