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: '[email protected]',
  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: '[email protected]',
  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.contentsnare.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: '[email protected]',
    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.contentsnare.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.contentsnare.com/requests/EXAMPLE_ONLY',
  owner_name: "Example Owner",
  author_name: "Example Author",
  client: {
    id: 0,
    company_name: 'Example Company',
    email: '[email protected]',
    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: 'completed',
  due_date: '2020-10-20',
  folder_name: 'Default Folder',
  url: 'https://app.contentsnare.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.contentsnare.com/requests/EXAMPLE_ONLY',
  owner_name: "Example Owner",
  author_name: "Example Author",
  client: {
    company_name: 'Example Company',
    email: '[email protected]',
    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.contentsnare.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.contentsnare.com/requests/EXAMPLE_ONLY',
    owner_name: "Example Owner",
    author_name: "Example Author",
    client: {
      id: 0,
      company_name: 'Example Company',
      email: '[email protected]',
      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.contentsnare.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.contentsnare.com/requests/EXAMPLE_ONLY',
     owner_name: "Example Owner",
     author_name: "Example Author",
     client: {
       id: 0,
       company_name: 'Example Company',
       email: '[email protected]',
       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.contentsnare.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.contentsnare.com/requests/EXAMPLE_ONLY',
     owner_name: "Example Owner",
     author_name: "Example Author",
     client: {
       id: 0,
       company_name: 'Example Company',
       email: '[email protected]',
       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',
   message: 'Example rejection message',
   name: 'Example rejected field name',
   instruction_text: 'Example rejected field instructions',
   status: 'redo',
   type: 'text',
   values: ['Example rejected field answer'],
   values_flat: 'Example rejected field answer',
   request: {
     id: 0,
     name: 'Example Request',
     status: 'published',
     due_date: '2020-10-20',
     folder_name: 'Default Folder',
     url: 'https://app.contentsnare.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.contentsnare.com/requests/EXAMPLE_ONLY',
     owner_name: "Example Owner",
     author_name: "Example Author",
     client: {
       id: 0,
       company_name: 'Example Company',
       email: '[email protected]',
       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 September 13, 2021

Was this article helpful?

Related Articles