Skip to main content
This webhook is triggered whenever a new text review is received in the Feedspace workspace the webhook belongs to.

Webhook Type

feed.text.received

Payload Format

type, data and reviewer_email are the only top-level keys. reviewer_email is the email answer lifted out of data.response, and is null when the form did not collect one.

Object Structure

Project Object

The project object contains information about the workspace/project where the review was submitted.

Project Fields

  • logo: URL to the project’s logo image
  • name: Name of the project/workspace
  • description: Description or identifier for the project

Feed Form Object

The feed_form object contains information about the review form used to collect the feedback.

Feed Form Fields

  • id: The form’s public slug, the same identifier that appears in the form’s public URL. This is not the unique_form_id used by the Review Forms API, so it cannot be passed to those endpoints.
  • url: Public URL where the form can be accessed
  • logo: URL to the form’s page image. Only present when the form has a page image configured, so treat it as optional.
  • name: Name or title of the review form

Response Object

The response object contains the actual review data submitted by the user.

Fields

  • name: Name of the person who submitted the review
  • email: Email address of the reviewer
  • consent: Whether the reviewer gave consent to share their information
  • position: Position or role of the reviewer
  • organization_name: Name of the organization of the reviewer
  • contact_number: Phone number of the reviewer
  • photo: URL to the reviewer’s photo
  • company_logo: URL to the reviewer’s company logo
  • company_url: Website URL of the reviewer’s company
  • other_text: Answer of the custom field added by the Feedspace user in the feed form settings
  • other_text2: Answer of the second custom field, when the form defines one
  • other_text3: Answer of the third custom field, when the form defines one
  • comment: The actual text content of the review
  • type: Type of review ("star", "thumbs_up" or "comment_only")
  • value: Value corresponding to the review type
    • For type "star": the rating as a string, e.g. "5", not a number
    • For type "thumbs_up": a real boolean, true = upvote, false = downvote
    • For type "comment_only": value is null
The keys of this object are the raw question identifiers of the form, which is why they are lowercase. Forms created before the identifiers were normalised may still send capitalised keys such as Name, Email or Photo, so match case-insensitively if you need to support older forms. Note: All fields in this object are customizable. They can be enabled or disabled in the feed form settings. If a field is not enabled in the form settings, it will not be included in the webhook response. comment, type and value are always present.

Attachments

If the review has media attached, data.attachments is present as an array. The key is omitted entirely when the review has no attachments. Every item carries a type field, and the remaining fields depend on that type.

Attachment Fields

  • type: One of "image", "video" or "audio"
  • For "image": image_url, image_extension, and image_size in bytes (integer, null if unknown)
  • For "video": thumbnail_url (empty string "" when no thumbnail exists), video_url, video_extension, and video_size in bytes (integer, null if unknown)
  • For "audio": audio_url, audio_extension, and audio_size in bytes (integer, null if unknown)
When a text review is submitted with a video or audio attachment, the webhook is not sent immediately. It fires once the media has finished processing, so the attachment URLs in the payload are always ready to use.

Top-Level Fields

Top-Level Field Descriptions

  • feed_id: Unique identifier for this specific review
  • feed_url: Public URL where the review is accessible
  • favourite: Whether this review is marked as favorite
  • created_at: Timestamp when the review was created
  • updated_at: Timestamp when the review was last updated
  • live_mode: Whether this is a live mode (true) or test mode (false)