1. Help
  2. Integrations
  3. Can you explain the webhooks within Content Snare?

Can you explain the webhooks within Content Snare?

Of course! For those of you interested, firstly, here’s a list of the events that trigger webhooks within Content Snare:

  • Client Created
  • Client Updated
  • Request Created
  • Request Published
  • Request Completed
  • All Fields Completed
  • Field Completed
  • Field Approved
  • Field Rejected

For each webhook, there is a specific JSON (JavaScript Object Notation) payload. These are as follows:

Client Created

When the webhook indicating that a new client has been created triggers, the JSON payload is:

{
  "id": "0",
  "event_name": "client_created",
  "company_name": "Example Company",
  "email": "example@example.com",
  "full_name": "Example Client",
  "phone": "123-456-7890",
  "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
}

Client Updated

When the webhook indicating that a client has been updated triggers, the JSON payload is:

{
  "id": "0",
  "event_name": "client_updated",
  "company_name": "Example Company",
  "email": "example@example.com",
  "full_name": "Example Client",
  "phone": "123-456-7890",
  "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
}

Request Created

When the webhook indicating that a new request has been created triggers, the JSON payload is:

{
  "id": "0",
  "event_name": "request_created",
  "name": "Example Request",
  "url": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
  "status": "draft",
  "due_date": "2020-10-20",
  "folder_name": "Default Folder",
  "request_template_name": "Example Template",
  "communications_template_name": "Default",
  "completion_percentage": "0",
  "owner_name": "Example Owner",
  "author_name": "Example Author",
  "client": {
    "id": "0",
    "company_name": "Example Company",
    "email": "example@example.com",
    "full_name": "Example Client",
    "phone": "123-456-7890",
    "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
  }
}

Request Published

When the webhook indicating that a request has been published triggers, the JSON payload is:

{
  "id": "0",
  "event_name": "request_published",
  "name": "Example Request",
  "status": "published",
  "due_date": "2020-10-20",
  "folder_name": "Default Folder"
  "url": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
  "pin_code_enabled": "true",
  "pin_code": "1234",
  "request_template_name": "Example Template",
  "communications_template_name": "Default",
  "completion_percentage": "0",
  "share_link": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
  "owner_name": "Example Owner",
  "author_name": "Example Author",
  "client": {
    "id": "0",
    "company_name": "Example Company",
    "email": "example@example.com",
    "full_name": "Example Client",
    "phone": "123-456-7890",
    "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
  }
}

Request Completed

When the webhook indicating that a request has been completed triggers, the JSON payload is:

{
  "id": "0",
  "event_name": "request_completed",
  "name": "Example Request",
  "status": "published",
  "due_date": "2020-10-20",
  "folder_name": "Default Folder"
  "url": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
  "pin_code_enabled": "true",
  "pin_code": "1234",
  "request_template_name": "Example Template",
  "communications_template_name": "Default",
  "completion_percentage": "0",
  "share_link": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
  "owner_name": "Example Owner",
  "author_name": "Example Author",
  "client": {
    "id": "0",
    "company_name": "Example Company",
    "email": "example@example.com",
    "full_name": "Example Client",
    "phone": "123-456-7890",
    "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
  },
  pages: [{
    name: "Example Page 1",
    instruction_text: "Example Page 1 Instructions",
    sections: [{
      name: "Example Section 1",
      instruction_text: "Example Section 1 Instructions",
      fields: [{
        name: "Example Field 1",
        instruction_text: "Example Field 1 Instructions",
        type: "text",
        status: "approved",
        values: [],
        values_flat: ""
      }],
      fields_count: 1
    }],
    fields_count: 1
  }]
}

All Fields Completed

When the webhook indicating that a client has completed all fields within a request triggers, the JSON payload is:

{
  "event_name": "all_fields_completed",
  "request": {
    "id": "0",
    "name": "Example Request",
    "status": "published",
    "due_date": "2020-10-20",
    "folder_name": "Default Folder"
    "url": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
    "pin_code_enabled": "true",
    "pin_code": "1234",
    "request_template_name": "Example Template",
    "communications_template_name": "Default",
    "completion_percentage": "0",
    "share_link": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
    "owner_name": "Example Owner",
   "author_name": "Example Author",
    "client": {
    "id": "0",
    "company_name": "Example Company",
    "email": "example@example.com",
    "full_name": "Example Client",
    "phone": "123-456-7890",
    "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
    }
  }
}

Field Completed

When the webhook indicating that a client has completed a field within a request triggers, the JSON payload is:

{
   "id": "0",
   "event_name": "field_completed",
   "section_id": "0",
   "section_name": "Example section name",
   "page_id": "0",
   "page_name": "Example page name",
   "name": "Example completed field name",
   "instruction_text": "Example completed field instructions",
   "status: "done",
   "type: "text",
   "values: ["Example completed field answer"],
   "values_flat: "Example approved field answer",
   "request: {
     "id: 0,
     "name: "Example Request",
     "status: "published",
     "due_date: "2020-10-20",
     "folder_name: "Default Folder",
     "url: "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
     "pin_code_enabled": "true",
     "pin_code": "1234",
     "request_template_name": "Example Template",
     "communications_template_name": "Default",
     "completion_percentage": "0",
     "share_link": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
     "owner_name": "Example Owner",
     "author_name": "Example Author",
     "client": {
       "id: "0",
       "company_name: "Example Company",
       "email: "example@example.com",
       "full_name: 'Example Client",
       "phone": "123-456-7890",
       "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
     }
   }
 }

Field Approved

When the webhook indicating that a team member has approved a field triggers, the JSON payload is:

{
   "id": "0",
   "event_name": "field_approved",
   "section_id": "0",
   "section_name": "Example section name",
   "page_id": "0",
   "page_name: "Example page name",
   "name": 'Example approved field name',
   "instruction_text": "Example approved field instructions",
   "status": "approved",
   "type": "text",
   "values": ["Example approved field answer"],
   "values_flat": "Example approved field answer",
   "request": {
     "id": 0,
     "name": "Example Request",
     "status": "published",
     "due_date": "2020-10-20",
     "folder_name": "Default Folder",
     "url: "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
     "pin_code_enabled": "true",
     "pin_code": "1234",
     "request_template_name": "Example Template",
     "communications_template_name": "Default",
     "completion_percentage": "0",
     "share_link": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
     "owner_name": "Example Owner",
     "author_name": "Example Author",
     "client": {
       "id": "0",
       "company_name": "Example Company",
       "email": "example@example.com",
       "full_name": "Example Client",
       "phone": "123-456-7890",
       "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
     }
   }
 }

Field Rejected

When the webhook indicating that a team member has rejected a field triggers, the JSON payload is:

{
   "id": "0",
   "event_name": "field_rejected",
   "section_id": "0",
   "section_name": "Example section name",
   "page_id": "0",
   "page_name: "Example page name",
   "name": 'Example approved field name',
   "instruction_text": "Example approved field instructions",
   "status": "approved",
   "type": "text",
   "values": ["Example approved field answer"],
   "values_flat": "Example approved field answer",
   "request": {
     "id": 0,
     "name": "Example Request",
     "status": "published",
     "due_date": "2020-10-20",
     "folder_name": "Default Folder",
     "url: "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
     "pin_code_enabled": "true",
     "pin_code": "1234",
     "request_template_name": "Example Template",
     "communications_template_name": "Default",
     "completion_percentage": "0",
     "share_link": "https://app.wordpress-193052-2841516.cloudwaysapps.com/requests/EXAMPLE_ONLY",
     "owner_name": "Example Owner",
     "author_name": "Example Author",
     "client": {
       "id": "0",
       "company_name": "Example Company",
       "email": "example@example.com",
       "full_name": "Example Client",
       "phone": "123-456-7890",
       "avatar": "https://www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=100&d=robohash",
     }
   }
 }

Field Types

In the above webhooks where a field is involved, there is a “type” parameter included. These are the possible values for field “type”:

  • text – text field that accepts a single line of unformatted text.
  • textarea – text field that accepts multiple lines of unformatted text.
  • wysiwyg – text field that accepts multiple lines of formatted text.
  • email – text field that accepts a properly formatted email address.
  • url – text field that accepts a properly formatted url.
  • number – number field that accepts any positive or negative real or integer number.
  • phone – number field that accepts a properly formatted phone number.
  • date/time – number field that accepts a properly formatted date.
  • image – file field that accepts an image file.
  • file – file field that accepts any file type.
  • checkbox – option field that shows each option as a checkbox and allows selection of multiple options.
  • radio – option field that shows each option as a radio button and allows selection of a single option.
  • select – option field that shows each option as a dropdown and allows selection of a single option.
  • image select – option field that shows a list of images and allows selection of one image.
  • color picker – custom field that allows a color to be selected.

Updated on August 19, 2022

Was this article helpful?

Related Articles