Get Started with Webhooks

This feature is available on all plans.
Users with the manage integrations permission can access this page.

Webhooks allow your application to receive real-time notifications from your EasyContent account. Examples of such notifications are when a user submits a content item to the next workflow status and when a deadline is missed.

To utilize webhooks, you must create a small web application to receive and process incoming HTTP requests. Once you have that setup, you're ready to get started!

Adding Your Webhook Endpoint URL

Go to the Integrations page and scroll down to the Webhook endpoints section.

Click Add endpoint and input your webhook endpoint URL. Then, select the events you want this URL to receive.

Currently, you can select to receive the following events:

  • When a brief is claimed
  • When a content item's workflow status changed
  • When a deadline is missed
  • When a deadline changed
  • When a user is assigned to a content item
  • When a content item is marked as completed

Some things to keep in mind:

  • You can add as many endpoint URLs as you wish. Each one will have its own settings.
  • All endpoint URLs will receive events from all active projects under the account where it was added.
  • The same endpoint URL can be added to multiple accounts. If you have multiple accounts in EasyContent or a developer working with or offering services to multiple clients in EasyContent, you can use a single endpoint to receive notifications from all of them. Organizing the updates should be easy since each event includes the account name where it was sent from.

The following section will give you detailed information about the events that your endpoint URL will receive. Use this to help you customize your webhook endpoint URL so that it can better process the information it receives.

Events

When an event is triggered, the following data is sent to your endpoint. They all follow a similar structure and consist of three main fields:

  • type (string) - human-readable event identifier i.e. the type of event that occurred
    • Example: user_assigned_to_an_assignmentdeadline_changed
  • timeFired (integer) - Unix timestamp of when the event occurred
    • Example: 1601346649 (equivalent to 09/29/2020 @ 2:30 am [UTC])
  • data (object) - the event's data
    • JSON object containing all necessary information about the event

Brief Claimed (task_claimed)

Your webhook endpoint URL will receive this notification when a user claims a brief via the Briefs page.

This event will have a type of task_claimed.

Data

  • account (object) - account where the event triggered
    • id (integer)
    • name (string) - accountname.easycontent.io
  • project (object) - project where the event triggered
    • id (integer)
    • name (string)
  • claimedBy (object) - user who claimed the brief
    • id (integer)
    • name (string)
  • id (integer) - brief ID
  • template (object) - brief's template
    • id (integer)
    • name (string)
  • categories (empty array or array of categories) - brief's categories, can be empty
    • category (object)
      • id (integer)
      • name (string)
  • title (string) - brief's title
  • keywords (empty array or array of strings) - brief's keywords, can be empty
  • notes (string) - brief's notes (a.k.a. description), can be empty

Workflow Status Changed (workflow_status_changed)

Your webhook endpoint URL will receive this notification when a content item's workflow status changes.

This event will have a type of workflow_status_changed.

Triggers when:

  • One or more content items' workflow status is updated through the Content page via Actions Change status.
  • A content item's status is changed using the Assigned people and due dates modal anywhere within EasyContent.
  • A content item is submitted to the next workflow status via the submit button or is sent back to a previous workflow status for a revision.
  • A content item's workflow status is updated in WordPress through the official plugin.

Data

  • account (object) - account where the event triggered
    • id (integer)
    • name (string) - accountname.easycontent.io
  • project (object) - project where the event triggered
    • id (integer)
    • name (string)
  • changedBy (object) - user who initiated the status change
    • id (integer)
    • name (string)
  • status (object) - current workflow status (this is the new workflow status)
    • id (integer)
    • name (string)
  • assignments (array of content items) - content items that had their workflow status changed
    • assignment (object) - represents a single content item
      • id (integer) - content item's ID
      • taskName (string) - this is equivalent to the brief title and is different from the actual title
      • title (string) - content item's h1 title, taken from the title field, if present
      • categories (empty array or array of categories) - content item's categories, can be empty
        • category (object)
          • id (integer)
          • name (string)
      • keywords (empty array or array of strings) - content item's keywords, can be empty
      • notes (string) - content item's description
      • template (object) - content item's template
        • id (integer)
        • name (string)
      • oldStatus (object) - previous workflow status
        • id (integer)
        • name (string)
      • tabs (array of tabs) - content item's tabs (see Templates if you need more info)
        • name - tab name
        • fields (array of fields) - tab fields
          • field (object)
            • id (integer)
            • type (integer)
            • label (string)
            • value (string)
      • authors (array of users) - users assigned to the first workflow status
        • author (object) 
          • id (integer)
          • name (string)
      • newStatusUsers (array of users) - users assigned to the current workflow status
        • user (object) 
          • id (integer)
          • name (string)

Content Approval Completed (assignment_completed)

Your webhook endpoint URL will receive this notification when a content item is marked as Completed. A content item is considered completed when it reaches the final workflow status.

This event will have a type of assignment_completed.

Triggers when:

  • One or more content items' workflow status is marked as completed through the Content Items page via Actions Change status modal or through the edit content item page via the workflow status widget.
  • A content item's status is changed to the final workflow status using the Assigned people and due dates modal anywhere within EasyContent.
  • A content item is marked as completed via the Approve button on the edit content item page.
  • A content item is marked as completed in WordPress through the official plugin.

Data

  • account (object) - account where the event triggered
    • id (integer)
    • name (string) - accountname.easycontent.io
  • project (object) - project where the event triggered
    • id (integer)
    • name (string)
  • assignments (array of assignments) - content items that were marked as completed
    • assignment (object)  - represents a single content item
      • id (integer) - content item's ID
      • taskName (string) - this is equivalent to the brief title and is different from the actual title
      • title (string) - content item's h1 title, taken from the title field, if present
      • categories (empty array or array of categories) - content item's categories, can be empty
        • category (object)
          • id (integer)
          • name (string)
    • keywords (empty array or array of strings) - content item's keywords, can be empty
    • notes (string) - content item's description
    • template (object) - content item's template
      • id (integer)
      • name (string)
    • tabs (array of tabs) - content item's tabs (see Templates if you need more info)
      • name - tab name
      • fields (array of fields) - tab fields
        • field (object)
          • id (integer)
          • type (integer)
          • label (string)
          • value (string)
    • authors (array of users) - users assigned to the first workflow status
      • author (object)
        • id (integer)
        • name (string)

Deadline Missed (deadline_missed)

This returns data about overdue content items the day before today. For example, when this runs on August 22nd, it will check if there are assignments due on August 21st. If there are, this event will fire and will send a list of projects containing overdue content items and a list of said content items to your webhook endpoint URL.

Fires once a day. It will only notify you once for each content item. For example, if there are items due on August 21st, a notification will fire on August 22nd. On August 23rd, if this event fires again, you will only receive a notification for the items due on August 22nd, not those due on August 21st.

Data

  • dueDate (string) - date in Ymd format
  • account (object) - account where the event triggered 
    • id (integer)
    • name (string)accountname.easycontent.io
    • projects (array of projects) - projects where overdue content items are found
      • project (object) - represents a single project
        • id (integer)
        • name (string)
        • assignments (array of assignments) - overdue content items
          • assignment (object) - represents a single overdue content item
            • id (integer) - content item's ID
            • taskName (string) - this is equivalent to the brief title and is different from the actual title
            • title (string) - content item's h1 title, taken from the title field, if present
            • categories (empty array or array of categories) - content item's categories, can be empty
              • category (object)
                • id (integer)
                • name (string)
            • keywords (empty array or array of strings) - content item's keywords, can be empty
            • notes (string) - content item's description
            • template ( object) - content item's template
              • id (integer)
              • name (string)
            • status (object) - content item's current status
              • id (integer)
              • name (string)
            • overdueStatuses (array of statuses) - overdue statuses
              • status (object)
                • id (integer)
                • name (string)

Deadline Changed (deadline_changed)

Your webhook endpoint URL will receive this notification when a content item's deadline is changed through the Assigned people and due dates interface. This can be accessed via the contents page, in the workflow status widget, or through the content calendar.

This event will have a type of deadline_changed.

Data

  • account (object) - account where the event triggered
    • id (integer)
    • name (string) - accountname.easycontent.io
  • project (object) - project where the event triggered
    • id (integer)
    • name (string)
  • assignments (array of assignments) - content items that had their deadline changed
    • assignment (object) - represents a single content item
      • id (integer)
      • taskName (string) - this is equivalent to the brief title and is different from the actual title
      • title (string) - content item's h1 title, taken from the title field, if present
      • categories (empty array or array of categories) - content item's categories, can be empty
        • category (object)
          • id (integer)
          • name (string)
      • keywords (empty array or array of strings) - content item's keywords, can be empty
      • notes (string) - content item's description
      • template (object) - content item's template
        • id (integer)
        • name (string)
      • status (object) - content item's current status
        • id (integer)
        • name (string)
      • dates (array of dates) - an array of old and new due dates
        • date (object)
          • oldDate (string) - old due date
          • newDate (string) - new due date
          • status (object) - status that had its due date changed
            • id (integer)
            • name (string)

Users Assigned To An Item (users_assigned_to_an_assignment)

Your webhook endpoint URL will receive this notification when a user is assigned to a content item through the Assigned People and Due Dates interface. This can be accessed via the content page, in the workflow status widget, or through the content calendar. It will also fire when a new content item is created and there are default assignees set in the workflow settings.

This event will have a type of users_assigned_to_an_assignment.

Data

  • account (object) - account where the event triggered
    • id (integer)
    • name (string) - accountname.easycontent.io
  • project (object) - project where the event triggered
    • id (integer)
    • name (string)
  • assignments (array of assignments) - content items where new users were assigned
    • assignment (object) - represents a single content item
      • id (integer) - content item's ID
      • taskName (string) - this is equivalent to the brief title and is different from the actual title
      • title (string) - content item's h1 title, taken from the title field, if present
      • categories (empty array or array of categories) - content item's categories, can be empty
        • category (object)
          • id (integer)
          • name (string)
      • keywords (empty array or array of strings) - content item's keywords, can be empty
      • notes (string) - content item's description
      • template (object) - content item's template
        • id (integer)
        • name (string)
      • status (object) - content item's current status
        • id (integer)
        • name (string)
      • statuses (array) - content item's statuses where a newly assigned user is added
        • status
          • id (integer)
          • name (string)
          • users (array) - newly assigned user(s)
            • user (object)
              • id (integer)
              • name (string)

Editing or Deleting a Webhook Endpoint URL

If you no longer use a webhook endpoint URL or if you want to change what type of events it receives, click on it and you will be taken to its configuration page. From there you can change what events it will receive or delete it if you want.

You can also disable a webhook endpoint URL by unchecking Enabled. Doing this stops EasyContent from sending notifications to the said URL.

A disabled webhook endpoint URL will be marked as disabled when viewed on the integrations page.