Under Community Review

Add Webhooks

A number of CMS, and other Enterprise systems, I'm working with have access to Webhooks. We've been asked by more than one client now about the possibility of using webhooks (as opposed to having to write and deploy extensions) to be informed on activities such as 

publishing/unpublishing

creating content of a specific type

updates to schemas

Parents
  • Webhooks would be great!

    This is what I would imagine:

    1. Definition of a Webhook
    ===================================
    In the Access Manager you would be able to set up the definition of the Webhook. I'm thinking that this would be the right place because this is the same place where you set up security tokens for your apps etc... Settings for the Webhook include:
    a. URL
    b. Timeout
    c. Security
    d. Headers
    e. Error Definitions (Response Code, Message, etc..)

    2. Associate a Webhook with a Schema
    ====================================
    In a tab in the Schema, you can associate one or more Webhooks with the Schema using these options:
    a. When:
    i. OnNew = When a new component is created based on the Schema
    ii. OnSave = When a component is saved
    iii. OnDelete = When a component is deleted
    iv. OnButton = While editing a component, a button could be pressed and the Webhook would be triggered

    b. Error:
    i. On Error Continue or Stop processing

    c. Contexts to Send (as JSON) in request payload
    i. Component (current field values)
    ii. User (username, groups)
    iii. Publication Context (name/id)

    d. What to do with Webhook response
    i. Y/N - Modify Component with Webhook response


    3. Associate a Webhook with a Publication
    ==========================================
    In a tab on the Publication, allow one or more Webhooks to be associated with the publication process:
    a. What:
    i. Component based on a specific schema
    ii. Page

    b. When:
    i. Prior to Attempting to Publish
    ii. After Successful Publish
    iii. After Successful Unpublish

    Other options (Error, Contexts, Response) similar to Schema.

    Use Cases
    ==================
    "I want to set the Review Date of my Article to 6 months from today." -> OnNew Webhook on the Schema

    "Lookup product information based on the value that I have in the SKU field." -> OnButton Webhook on the Schema

    "Do a mandatory 508 compliance check on my component when I save." -> OnSave Webhook on the Schema

    "Push a message to our Slack channel when a page has been published to a Preview site." -> Publish Page Webhook.

    "Update ZenDesk/ServiceNow Help Desk articles when a new help article has been published." -> Publish Component Webhook.

    "Make a 'Ticker Tape' (ie: custom log) of all transactions on a particular type of component." -> OnSave, OnDelete Webhooks on the Schema.

    I realize that some of these cases can already be addressed with Workflow/Custom Deployers. However I do think that making it this functionality more transparent and readily available will bring great value and will help me demo!

Comment
  • Webhooks would be great!

    This is what I would imagine:

    1. Definition of a Webhook
    ===================================
    In the Access Manager you would be able to set up the definition of the Webhook. I'm thinking that this would be the right place because this is the same place where you set up security tokens for your apps etc... Settings for the Webhook include:
    a. URL
    b. Timeout
    c. Security
    d. Headers
    e. Error Definitions (Response Code, Message, etc..)

    2. Associate a Webhook with a Schema
    ====================================
    In a tab in the Schema, you can associate one or more Webhooks with the Schema using these options:
    a. When:
    i. OnNew = When a new component is created based on the Schema
    ii. OnSave = When a component is saved
    iii. OnDelete = When a component is deleted
    iv. OnButton = While editing a component, a button could be pressed and the Webhook would be triggered

    b. Error:
    i. On Error Continue or Stop processing

    c. Contexts to Send (as JSON) in request payload
    i. Component (current field values)
    ii. User (username, groups)
    iii. Publication Context (name/id)

    d. What to do with Webhook response
    i. Y/N - Modify Component with Webhook response


    3. Associate a Webhook with a Publication
    ==========================================
    In a tab on the Publication, allow one or more Webhooks to be associated with the publication process:
    a. What:
    i. Component based on a specific schema
    ii. Page

    b. When:
    i. Prior to Attempting to Publish
    ii. After Successful Publish
    iii. After Successful Unpublish

    Other options (Error, Contexts, Response) similar to Schema.

    Use Cases
    ==================
    "I want to set the Review Date of my Article to 6 months from today." -> OnNew Webhook on the Schema

    "Lookup product information based on the value that I have in the SKU field." -> OnButton Webhook on the Schema

    "Do a mandatory 508 compliance check on my component when I save." -> OnSave Webhook on the Schema

    "Push a message to our Slack channel when a page has been published to a Preview site." -> Publish Page Webhook.

    "Update ZenDesk/ServiceNow Help Desk articles when a new help article has been published." -> Publish Component Webhook.

    "Make a 'Ticker Tape' (ie: custom log) of all transactions on a particular type of component." -> OnSave, OnDelete Webhooks on the Schema.

    I realize that some of these cases can already be addressed with Workflow/Custom Deployers. However I do think that making it this functionality more transparent and readily available will bring great value and will help me demo!

Children
No Data