Webhook tasks
Workflow plans can be configured to POST data to Webhook endpoints, either your organization's custom infrastructure, or other cloud apps that provide Incoming Webhook support.

Overview

Webhook tasks will send an out-bound contextual payload to a pre-configured URL. These tasks can be included in any of your Workflow plans (onboarding, offboarding, vendor workflows, etc).
Tasks in a workflow are available if it is past their "Start after" date, or when all the tasks they depend upon have been completed, unblocking them from execution. This allows you to more carefully time when your Webhook tasks can fire. Otherwise, they will fire by default the moment your Workflow is launched.

Use Cases

πŸŽ‰ Announce new hires in Slack.

Want to socialize when you are kicking off an employee onboarding, offboarding, or vendor renewal/termination? Follow our Triggering Zapier guide for a practical walk through. You can use Zapier to invite newly onboarded employees to specific Slack channels too!

βœ‰οΈ Send additional instructions to new hires via email.

Using Zapier as a middleman, send additional forms of emails to new hires to sign via DocuSign.

🎟️ Create tickets/tasks in service desks or support systems.

This can be really useful to bridge to existing processes and create tickets in other key business systems. Using Zapier as an intermediary you can use a webhook in Blissfully to:
  • Create tickets in JIRA, Zendesk, or Freshservice
  • Create and/or update tasks in Asana
  • Create cards or add onboarded employees to cards in Trello

πŸ‘€ Automatically provision users into internal/external systems.

Either directly communicate to your internal APIs and/or bridge to external APIs, you can use Webhook tasks in Onboarding Workflows to trigger the creation of new users. Certain apps can be triggered via Zapier as well.

πŸ“« Post new vendor information to an external asset tracker.

Record vendor approval workflow events in other systems, or even a partner's system.

πŸ“… Add compliance events to an external calendar.

Using Zapier, you create new calendar events to record when certain actions were taken.

πŸ“£ Socialize new tools as they are adopted

Announce life-cycle events for vendors to the broader organization so folks can keep a pulse on the tech inventory changes.

Adding a Webhook Task to a Plan

To use Webhook Tasks, you must configure a Webhook integration. If you have done so, please see the Webhook Integration instructions.
From any Workflow Plan, you may add a Webhook Task. (Note: if you haven't yet configured a Webhook Integration, you'll be asked to set one up first. Learn how to create an Outbound Webhook here.)
A Webhook Task needs only be told which particular named Webhook you wish to send a payload to. You may then choose to configure which other tasks in the plan block the Webhook task - it will only execute after those tasks are completed. Additionally, you can specify a "Start after" date, anchored around a workflow-relevant event. The Webhook task will not execute before this date.
Blissfully's Webhook tasks can be used with Zapier or with custom code to trigger actions in other applications as a part of any of Blissfully's workflow types.

Payload Format (v1)

Webhook Tasks will send an HTTPPOST request with a JSON body at the moment of execution.
post
https://webhook-integration-url/
path
Webhook Task - Execute
Example payloads:
Onboarding
Offboarding
Vendor
Simple
App Access
1
{
2
"version": "v1",
3
"entity": "task",
4
"action": "execute",
5
"task": {
6
"id": "abcd-1234",
7
"dependencies": [],
8
"workflow": {
9
"id": "xyz-098",
10
"type": "Onboarding",
11
"title": "Onboarding Saasha Bliss",
12
"launchedAt": "2020-04-14T21:35:44.774Z",
13
"viewUrl": "https://app.blissfully.com/#/workflow/xyz-098",
14
"ticket": {
15
"id": "xyz-099",
16
"launchedAt": "2020-04-14T21:35:44.774Z",
17
"viewUrl": "https://app.blissfully.com/#/ticket/xyz-099",
18
"requestedBy": {
19
"id": "efgh-5678",
20
"primaryEmail": "[email protected]",
21
"fullName": "Saasha Bliss"
22
}
23
},
24
"details": {
25
"subject": {
26
"onboardee": {
27
"id": "efgh-5678",
28
"primaryEmail": "[email protected]",
29
"personalEmail: "[email protected].com",
30
"fullName": "Saasha Bliss",
31
"startDate": "2020-04-14T21:35:44.774Z"
32
}
33
},
34
"teams": [{
35
"id": "orne-2842",
36
"name": "IT Team",
37
"lead": {
38
"fullName": "Ariel Diaz",
39
"primaryEmail": "[email protected]"
40
}
41
}]
42
}
43
}
44
}
45
}
46
​
Copied!
1
{
2
"version": "v1",
3
"entity": "task",
4
"action": "execute",
5
"task": {
6
"id": "abcd-1234",
7
"dependencies": [],
8
"workflow": {
9
"id": "xyz-098",
10
"type": "Offboarding",
11
"title": "Offboarding Saasha Bliss",
12
"launchedAt": "2020-04-14T21:35:44.774Z",
13
"viewUrl": "https://app.blissfully.com/#/workflow/xyz-098",
14
"ticket": {
15
"id": "xyz-099",
16
"launchedAt": "2020-04-14T21:35:44.774Z",
17
"viewUrl": "https://app.blissfully.com/#/ticket/xyz-099",
18
"requestedBy": {
19
"id": "efgh-5678",
20
"primaryEmail": "[email protected]",
21
"fullName": "Saasha Bliss"
22
}
23
},
24
"details": {
25
"offboardee": {
26
"id": "efgh-5678",
27
"primaryEmail": "[email protected]",
28
"fullName": "Saasha Bliss",
29
"lastDate": "2020-04-14T21:35:44.774Z"
30
},
31
"teams": [
32
{
33
"id": "orne-2842",
34
"name": "IT Team",
35
"lead": {
36
"fullName": "Ariel Diaz",
37
"primaryEmail": "[email protected]"
38
}
39
}
40
]
41
}
42
}
43
}
44
}
Copied!
1
{
2
"version": "v1",
3
"entity": "task",
4
"action": "execute",
5
"task": {
6
"id": "abcd-1234",
7
"dependencies": [],
8
"workflow": {
9
"id": "xyz-098",
10
"type": "Vendor Approval", //Vendor Renewal, Vendor Termination
11
"title": "Vendor Approval for AcmeCorp",
12
"launchedAt": "2020-04-14T21:35:44.774Z",
13
"viewUrl": "https://app.blissfully.com/#/workflow/xyz-098",
14
"ticket": {
15
"id": "xyz-099",
16
"launchedAt": "2020-04-14T21:35:44.774Z",
17
"viewUrl": "https://app.blissfully.com/#/ticket/xyz-099",
18
"requestedBy": {
19
"id": "efgh-5678",
20
"primaryEmail": "[email protected]",
21
"fullName": "Saasha Bliss"
22
}
23
},
24
"details": {
25
"subject": {
26
"vendor": {
27
"id": "efgh-5678",
28
"name": "AcmeCorp",
29
"nextRenewalDate": "2020-04-14T21:35:44.774Z"
30
}
31
}
32
}
33
}
34
}
35
}
Copied!
1
{
2
"version": "v1",
3
"entity": "task",
4
"action": "execute",
5
"task": {
6
"id": "abcd-1234",
7
"dependencies": [],
8
"workflow": {
9
"type": "Simple", //Vendor Renewal, Vendor Termination
10
"title": "My Simple Workflow",
11
"id": "xyz-098",
12
"viewUrl": "https://app.blissfully.com/#/workflow/xyz-098",
13
"ticket": {
14
"id": "xyz-099",
15
"launchedAt": "2020-04-14T21:35:44.774Z",
16
"viewUrl": "https://app.blissfully.com/#/ticket/xyz-099",
17
"requestedBy": {
18
"id": "efgh-5678",
19
"primaryEmail": "[email protected]",
20
"fullName": "Saasha Bliss"
21
}
22
}
23
}
24
}
25
}
Copied!
1
{
2
"version": "v1",
3
"entity": "task",
4
"action": "execute",
5
"task": {
6
"id": "abcd-1234",
7
"dependencies": [],
8
"workflow": {
9
"id": "xyz-098",
10
"type": "App Access",
11
"title": "App Access for AcmeCorp",
12
"launchedAt": "2020-04-14T21:35:44.774Z",
13
"viewUrl": "https://app.blissfully.com/#/workflow/xyz-098",
14
"ticket": {
15
"id": "xyz-099",
16
"launchedAt": "2020-04-14T21:35:44.774Z",
17
"viewUrl": "https://app.blissfully.com/#/ticket/xyz-099",
18
"requestedBy": {
19
"id": "efgh-5678",
20
"primaryEmail": "[email protected]",
21
"fullName": "Saasha Bliss"
22
}
23
}
24
},
25
"details": {
26
"app": {
27
"id": "efgh-5678",
28
"name": "AcmeCorp"
29
},
30
"person": {
31
"id": "efgh-5678",
32
"primaryEmail": "[email protected]",
33
"fullName": "Saasha Bliss"
34
}
35
}
36
}
37
}
38
}
Copied!
​
Last modified 3mo ago