featureOS provides webhooks which allow us to send information to your custom endpoint when certain events are triggered. This allows you to integrate your systems with our platform.
Webhook events are currently supported for the following modules,
Posts
Changelog
For example, you can configure an endpoint to receive information when a new post is submitted.
How does it work?
A webhook is simply a HTTP POST request to an endpoint (URL) that you set. featureOS automatically triggers the webhook when a relevant event occurs in your organization.
How to setup a webhook?
Navigate to the Dashboard and then click on Webhooks in the sidebar.
Click on the Add Webhook button.
Fill in the URL and description. Then select the events you want to be notified for. Your URL is a simple HTTP endpoint. It must satisfy the following conditions:
It must have a valid SSL certificate (https).
It must be accessible on the public internet.
It should return a 200 status code when the request is successful._
Click on the Save button.
The retry policy
When a webhook is triggered, the request is sent to the endpoint specified in your configuration. If the request fails, the request is retried up to 3 times. If the request fails after 3 times, the webhook is marked as failed.
You can also check the logs of each webhook in the Webhooks section of your organization Dashboard.
Example payload for a post submission
The webhook HTTP payload will include information both in its request body.
{
"type": "postCompleted",
"data": {
"id": 80874,
"title": "Facebook Conversion",
"object": "post",
"description": "This is a test",
"description_html": "<p>This is a test</p>\n",
"status": {
"label": "Completed",
"value": "completed"
},
"assignee": {},
"approval_status": "approved",
"hidden": false,
"pinned": false,
"downvotes_count": 0,
"upvotes_count": 1,
"etc_date": null,
"parent_id": null,
"comments_count": 0,
"created_at": 1648026486,
"updated_at": 1651686939,
"submitter": {
"name": "featureOS Support",
"email": "[email protected]"
},
"before": {
"status": {
"label": "Planned",
"value": "planned"
},
"completed_at": null
},
"after": {
"status": {
"label": "Completed",
"value": "completed"
},
"completed_at": "2022-05-04 17:55:39 UTC"
}
},
"created": 1651686939
}
Need more help?
Reach out to our support at [email protected] or submit a request on our support board! ๐
You must be logged in to comment in this article.
Login to comment