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

Need Support?
Can't find the answer you're looking for? Don't worry, we're here to help!
CONTACT SUPPORT