---
title: "Feedback Result Created"
method: POST
path: "feedbackResultCreated"
tags: ["Webhooks Events"]
---

# Feedback Result Created

`POST feedbackResultCreated` (webhook)

This event is triggered when a business receives a new survey response.

The event payload contains the event type and the full response: the respondent, the
survey, and every question with its answer. It has the same format as a feedback result
returned by `GET /feedback/feedback_result`, plus `org_id` and the respondent's `email`.

## Payload

- object
  - `type` 'feedback_result_created'
  - `payload` FeedbackResultWebhookPayload: A full survey response, as delivered by the `feedback_result_created` webhook. It has the same format as a feedback result returned by `GET /feedback/feedback_result`, plus `org_id` and the respondent's `email`. `comments` is always empty, since a response has no reply yet when it is received.
    - `id` integer, required
    - `business_id` string, required: Business id
    - `store_code` string, nullable, required: Your own code for the business, if the survey link carried one
    - `firstname` string, nullable, required: Firstname of the respondent, if the survey collected it
    - `lastname` string, nullable, required: Lastname of the respondent, if the survey collected it
    - `nps` integer, required: NPS of the feedback result
    - `content` string, nullable, required: Content of the FREE_FORM answer, or `null` when the survey has none. When the survey has several FREE_FORM questions, this holds the last one only: read `feedback_result_fields` to get every answer.
    - `state` 'treated' | 'not_treated', required: State of the feedback result
    - `optin` true | false, required: Whether the respondent accepts to be contacted
    - `created` string, date-time, required: Date the feedback result was created on
    - `feedback_form` object, required: Information about the corresponding feedback form
      - `id` string, required: The unique identifier of the form
      - `display_name` string, required: Name of your form
      - `custom_hidden_fields` object: The survey's custom hidden fields, mapping their identifier to their display name
    - `feedback_result_fields` FeedbackResultField[], required: The various fields of the feedback result
      - `rating` integer, nullable, required: Rating assigned by the respondent, if any Is set for NPS (0 to 10) and CSAT (1 to 5) fields
      - `content` string, nullable, required: Text content written by the respondent, if any Is set for FREE_FORM fields
      - `choices` string[], nullable, required: Identifiers of the choices selected by the respondent, matching `id` in `feedback_form_field.field_choices`. A free-text "Other" answer is given as its text. Is set for MULTIPLE_CHOICE fields
      - `feedback_form_field` FeedbackFormField, required
        - `id` string: Unique identifier of the field
        - `field_type` 'NPS' | 'FREE_FORM' | 'CSAT' | 'MULTIPLE_CHOICE'
        - `field_label` string: The label of the field (i.e. the question that was answered)
        - `field_choices` object[], nullable: All choices that were ever available for this field Only set for MULTIPLE_CHOICE fields
          - `id` string
          - `text` string
          - `isOtherOption` boolean: Whether this is the "Other" option
    - `comments` FeedbackResultReply[], required: The replies of the feedback result
      - `id` integer: Unique identifier of the reply
      - `created` string, datetime: Date the reply was created
      - `author_name` string: Author of the reply
      - `content` string: Content of the reply
      - `feedback_result_id` integer: Identifier of the feedback result
      - `user_id` string: User id
      - `is_reply_suggestion` boolean: Whether the reply was created using an AI suggestion
    - `extra` object, required: The additional hidden fields (other than `firstname`, `lastname`, `store_code`, `email` and `date`)
    - `issues` string[], nullable: Data quality issues flagged on the feedback result, if any
    - `org_id` integer, required: The organization identifier
    - `email` string, nullable, required: Email of the respondent, if the survey collected it

## Acknowledgement `200`

Return a 200 status to indicate that the event was properly received

## Other responses

- `500`: An error in range 500-599 will trigger a retry from webhook delivery system, up to 5 times, with an exponential backout. > ⚠️ You may have to deal with events not received in order

---

[API](https://skmtc.dev/partoo/apis/partoo-rest-api.md) - [All operations](https://skmtc.dev/partoo/apis/partoo-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/partoo/apis/partoo-rest-api/revisions/dcb8190f5a29?raw)
