Channel web hooks allows to post any content to a channel or create cases in channel. Channel web hooks are created in channel properties.
Creating a New Web Hook
To create a new web hook please follow these steps;
Open channel that you want to create a web hook
Select "Edit" from channel menu
Switch to "Web Hooks" tabs and click to "Add New" button
Web hook Url is automatically generated, enter the purpose of channel
Click "Copy" button on next to Url field to copy Url to clipboard.
Click Ok to save changes.
Posting Channel Activity
After web hook is created you can post JSON data to create a new activity on channel. Web hook URL contains all the required information and does not need any authentication.
Posting Basic Message
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df Host: my.emakin.com Content-Type: application/json { "text" : "my message" }
Posting Message with Attachments
As another example you can post following JSON to send a message with attachments.
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df Host: my.emakin.com Content-Type: application/json { "text" : "my message", "attachments" : [ { "@type": "file", "displayName": "my file", "ext": "txt", "url": "http://myserver/myfile" }, { "@type": "link", "url": "http://www.google.com", "displayName": "http://www.google.com" }] }
Creating a New Case In Channel
When JSON data contains a "id" property, web hook creates a new case instead of just posting a message. Id field must be unique for channel or otherwise web hook ignores message and returns already reported.
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df Host: my.emakin.com Content-Type: application/json { "id" : "event1", "text" : "my message", "attachments" : [ { "@type": "file", "displayName": "my file", "ext": "txt", "url": "http://myserver/myfile" }, { "@type": "link", "url": "http://www.google.com", "displayName": "http://www.google.com" }] }
JSON with "id" property automatically creates a new case and attaches the message to the case.
Updating a Case
Web hooks also supports to receive notifications about previously posted messages.
To post a new update message to an existing case, JSON data must contain a "references" property that contains the previously reported message id.
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df Host: my.emakin.com Content-Type: application/json { "id" : "event2", "references" : [ "event1" ], "text" : "my message", "attachments" : [ { "@type": "file", "displayName": "my file", "ext": "txt", "url": "http://myserver/myfile" }, { "@type": "link", "url": "http://www.google.com", "displayName": "http://www.google.com" }] }
JSON with "references" automatically appends a new message to an existing case as an update message.