You’d like to keep track of your Enboarder workflow data in your company’s analytics platform? With our latest API update you can do exactly this: Automatically pull data from Enboarder for systems such as Tableau, Looker or Sisense.
This page contains information for different end points to export workflow reports.
Base URL:
AU 🇦🇺 : https://api.syd.e1.enboarder.com
EU 🇪🇺 : https://api.fra.e1.enboarder.com
US 🇺🇸 : https://api.ore.e1.enboarder.com
CA 🇨🇦 : https://api.can.e1.enboarder.com
Authorization:
All API requests must include a Header Key called "apikey" with a custom value that can be found in your account Settings. To find this value, navigate to Settings > Integration > Our Extensions
Workflow List Report:
Report End Point: {{baseURL}}/reports/workflows
HTTP Method: GET
Description: To get a list of workflow names and their ID's
Response:
A array of workflow with below detail
id - Workflow unique id
name - Workflow name
IsActive - Status of workflow
{
"count": 3,
"items": [
{
"id": "O0lMYAwSv",
"name": "Rest API Testing",
"isActive": true
},
{
"id": "Vr4Q_-ttA",
"name": "Default Workflow",
"isActive": true
},
{
"id": "hx3cBcdvF",
"name": "Rest API Testing",
"isActive": false
}
]
}
Workflow Properties Report
Base URL:
AU 🇦🇺 : https://api.syd.e1.enboarder.com
EU 🇪🇺 : https://api.fra.e1.enboarder.com
US 🇺🇸 : https://api.ore.e1.enboarder.com
CA 🇨🇦 : https://api.can.e1.enboarder.com
Report End Point: {{baseURL}}/reports/workflows/{id}/properties
HTTP Method: GET
Description: To get list of column list including categories, custom fields configured for this workflow
Param:
id - workflow unique id
Response:
Atrribute Name | Type | Detail |
Name | String | Name of workflow |
id | String | Unique identifier of workflow |
fields | Array of JSON values | provides information of all categories, custom fields and stakeholders associated with workflow |
fields → |
| Id - unique ID of category label - Name of category type - it will be category in this case options - an array of available values of the category options → id - unique id of value of category options → value - actual value of category options → isCriteria - present with value true if value is used in workflow
|
fields → |
| Id - unique ID of Brand label - Name of Brand type - it will be category in this case options - an array of all brands which are selected in workflow options → id - unique id of value of Brand options → value - actual value of Brand |
fields → |
| id - unique ID of Location label - Name of Location type - it will be category in this case options - an array of all locations which are selected in workflow options → id - unique id of value of location options → value - actual value of location |
fields → |
| id - unique ID of custom field label - Name of custom field type - it will be customField in this case data type -
isRequired - present with true value if its mandatory in workflow options - an array of all values if datatype is picklist options → id - unique id of value of custom field options → value - actual value of custom field |
fields → |
| id - unique ID of manager label - Name of manager type - it will be manager in this case data type -
isRequired - present with true value if its mandatory in workflow |
An array of columns names and types.
{
"name": "Sydney Series Test (10AM)",
"id": "Nym2o7QcZ",
"fields": [
{
"id": "HyXP8GBbOW",
"label": "Color Value",
"type": "customField",
"datatype": "picklist",
"options": [
{
"id": "Blue_SybPUMHbO-",
"value": "Blue"
},
{
"id": "Green_B1lDLfB-dZ",
"value": "Green"
},
{
"id": "Orange_HyGwLGSZd-",
"value": "Orange"
},
{
"id": "Red_B1vUzSWO-",
"value": "Red"
}
]
},
{
"id": "SyEfMSZd-",
"label": "Counter",
"type": "customField",
"datatype": "number"
},
{
"id": "rkmPfSWO-",
"label": "Description",
"type": "customField",
"datatype": "text"
},
{
"id": "rJv7MrZu-",
"label": "Reporting Date",
"type": "customField",
"datatype": "date"
},
{
"id": "SJWEMBW_b",
"label": "Reporting Time",
"type": "customField",
"datatype": "datetime"
},
{
"id": "NJ8MAOqUJZ",
"label": "Teacher",
"type": "manager",
"datatype": "variable"
},
{
"id": "V161uKSS-",
"label": "IT manager",
"type": "manager",
"datatype": "variable",
"isRequired": true
},
{
"id": "4yczutrSZ",
"label": "HR manager",
"type": "manager",
"datatype": "variable",
"isRequired": true
},
{
"id": "Vkc2ZTBUZ",
"label": "Payroll",
"type": "manager",
"datatype": "fixed",
"isRequired": true
}
]
}
Workflow Report with ID
Base URL:
AU 🇦🇺 : https://api.syd.e1.enboarder.com
EU 🇪🇺 : https://api.fra.e1.enboarder.com
US 🇺🇸 : https://api.ore.e1.enboarder.com
CA 🇨🇦 : https://api.can.e1.enboarder.com
End Point: {{baseURL}}/reports/workflows/{id}/data
HTTP Method: GET
Description: To get list of workflow for a particular workflow id. By default return 1 year old data for selected workflow
Request Params (Optional):
Attribute Name | Type | Default Value | Description |
id | String |
| Set it with workflow id for which you want to get data for a particular workflow. |
launchStartDate | String | Current Date | Format: yyyy-mm-dd. Ex - 2020-02-14 By default it will put current date . |
launchEndDate | String | Current Date - 12 months | Format: yyyy-mm-dd. Ex - 2019-02-14. By default it will put 1 year old date |
nextKey | String |
| The api will return 500 records in response. To get next set of record, please send this value in next request with same filters. Note - If no further records needs to fetch then its value will be blank in response |
/reports/workflows/hx3cBcdvF/data?launchStartDate=2019-12-18&launchEndDate=2020-02-20&nextKey=2020020614163Kex42oMoh
Param:
id - The id of the associated workflow launched record (initid)
workflow > id - The id of the associated workflow
workflow > name - The name of the associated workflow
{
"count": 3,
"items": [
{
"id": "202003180404Agh5PhEAV",
"employee": "test launch",
"mobile": "+9198XXXXXXXX",
"email": "vneet+tanag@enboarder.com",
"status": "in progress",
"startDate": "2020-03-18T12:00:00",
"launchDate": "2020-03-18T04:04:27",
"mode": "live",
"workflow": {
"id": "GLQeB7C27",
"name": "Asad - test Sutherland form signature stories"
},
"customFields": [
{
"id": "brand",
"label": "Brand",
"type": "category",
"datatype": "text",
"value": {
"id": "val_brand_imaPy3ot0",
"val": "David Jones"
}
},
{
"id": "location",
"label": "Location",
"type": "category",
"datatype": "text",
"value": {
"id": "val_location_4yMrck7S-",
"val": "Sydney"
}
},
{
"label": "Office Report Time",
"type": "category",
"datatype": "datetime",
"value": {
"id": "N18JrS6Y-",
"val": "09:30"
}
},
{
"label": "Reporting Date",
"type": "category",
"datatype": "date",
"value": {
"id": "rJv7MrZu-",
"val": "2020-03-18T12:00:00"
}
}
],
"managers": [
{
"id": "M_keuaCHIq",
"type": "manager",
"datatype": "Variable",
"value": {
"name": "Shuchi Manager",
"email": "catchshuchi+it@gmail.com",
"phone": "+91XXXXXXXXXX",
"preferedChannel": "eml"
}
}
]
}
...........
],
"nextKey": "2020020614163Kex42oMoh"
}
Workflow report
Base URL:
AU 🇦🇺 : https://api.syd.e1.enboarder.com
EU 🇪🇺 : https://api.fra.e1.enboarder.com
US 🇺🇸 : https://api.ore.e1.enboarder.com
CA 🇨🇦 : https://api.can.e1.enboarder.com
End Point: {{baseURL}}/reports/workflows/data
HTTP Method: GET
Description: To get list of workflow based on parameter configured. By default return 1 year old data.
Request Params (Optional):
/reports/workflows/data?launchStartDate=2019-12-18&launchEndDate=2020-02-20&nextKey=2020020614163Kex42oMoh
Response:
{
"count": 3,
"workflow": "TestBambooWebhook",
"id": "hx3cBcdvF",
"items": [
{
"id": "202003180404Agh5PhEAV",
"employee": "test launch",
"mobile": "+9198XXXXXXXX",
"email": "vneet+tanag@enboarder.com",
"status": "in progress",
"startDate": "2020-03-18T12:00:00",
"launchDate": "2020-03-18T04:04:27",
"mode": "live",
"workflow": {
"id": "GLQeB7C27",
"name": "Asad - test Sutherland form signature stories"
},
"customFields": [
{
"id": "brand",
"label": "Brand",
"type": "category",
"datatype": "text",
"value": {
"id": "val_brand_imaPy3ot0",
"val": "David Jones"
}
},
{
"id": "location",
"label": "Location",
"type": "category",
"datatype": "text",
"value": {
"id": "val_location_4yMrck7S-",
"val": "Sydney"
}
},
{
"label": "Office Report Time",
"type": "category",
"datatype": "datetime",
"value": {
"id": "N18JrS6Y-",
"val": "09:30"
}
},
{
"label": "Reporting Date",
"type": "category",
"datatype": "date",
"value": {
"id": "rJv7MrZu-",
"val": "2020-03-18T12:00:00"
}
}
],
"managers": [
{
"id": "M_keuaCHIq",
"type": "manager",
"datatype": "Variable",
"value": {
"name": "Shuchi Manager",
"email": "catchshuchi+it@gmail.com",
"phone": "+61XXXXXXXXX",
"preferedChannel": "eml"
}
}
]
}
],
"nextKey": "2020020614163Kex42oMoh"
}
....
],
"nextKey": "2020020614163Kex42oMoh"
}
Workflow Details
Base URL:
AU 🇦🇺 : https://api.syd.e1.enboarder.com
EU 🇪🇺 : https://api.fra.e1.enboarder.com
US 🇺🇸 : https://api.ore.e1.enboarder.com
CA 🇨🇦 : https://api.can.e1.enboarder.com
End Point: {{baseURL}}/restapi/v1/details/{workflow launch ID}
The workflow launch ID is the external ID of the workflow. If launching workflows via a CSV upload or integration, this ID will be set by you. If launching workflow manually, Enboarder will assign an ID (starting with ENB-). If a ENB- ID is assigned, you will need to first call the Workflow Report API to retrieve this ID.
sequences=all parameter in URL will also fetch all sequences ( even future) associated with the workflow. Example: https://api.fra.e1.enboarder.com/restapi/v1/details/{workflow launch ID}?sequences=all
HTTP Method: GET
RestAPI output fields
RestAPI call return output is a JSON structure. Please see below for further details
JSON Output :
headers :
This tag contains information such as workflow name, employee name, employee mobile/email, status of workflow, key date of employee, launch date of workflow, mode of workflow (live or test) and the identifier in Enboarder. It also has an array of custom fields and managers (stakeholders). Custom fields contain name value and type of custom field (category if it is category) and manager info contains details of manager, such as label of the manager, email/ phone and preferred channel of notification.
details :
This tag contains sequence and module progress details. Sequence name, status, sequence belongs to (employee or manager), date when last action was taken. Module names, typse, actions, last date when last action was performed etc. is also detailed.
sequences:
This tag contains information about all sequences of workflow in time order from Pre Phase to Post Phase. This structure will only come if sequences=all parameter is specified. The list of sequences contains id, name of trigger Type of sequences along with parented if Sequence is chained. Over due days date is also available to compute the overdue date of the sequence.
Sample output:
{
"headers": {
"workflow": "Onboarding Workflow",
"employee": "John Doe",
"mob": "+1784xxxxxxx",
"eml": "john+test@example.com",
"status": "in progress",
"startdate": "2017-08-01",
"launchdate": "2017-08-24T01:34:17+0000",
"startphase": "90",
"mode": "Live",
"id": "ENB-201708240134xxxxxxxx",
"customfields": [
{
"name": "brand",
"value": "Example",
"type": "category"
},
{
"name": "Employee ID",
"value": "EMP-1001987"
}
],
"managers": [
{
"nm": "Mc Phi",
"eml": "mc+test@example.com",
"mgrlbl": "Direct Manager"
}
]
},
"details": [
{
"id": "seqid123",
"name": "Emp Seq",
"status": "complete",
"seqfor": "Employee",
"date": "2017-08-24T01:34:18+0000",
"modules": [
{
"name": "Notification",
"modtype": "notification",
"action": "sent",
"date": "2017-08-24T01:34:18+0000"
},
{
"id": "seqid456",
"name": "Emp Birthday",
"modtype": "forms",
"action": "completed",
"date": "2017-08-24T01:34:50+0000",
"formid": "201708240134xxxxxxx#Hy9xxxxx#Bkxxxxxx"
},
{
"name": "Thank you message",
"modtype": "finish",
"action": "viewed",
"date": "2017-08-24T01:35:04+0000"
}
]
},
{
"id": "seqid789",
"name": "Mgr Seq",
"status": "complete",
"seqfor": "Direct Manager",
"date": "2017-08-24T01:35:05+0000",
"modules": [
{
"name": "Notification",
"modtype": "notification",
"action": "sent",
"date": "2017-08-24T01:35:05+0000"
},
{
"name": "New hire birthday event",
"modtype": "event",
"action": "viewed",
"date": "2017-08-24T01:35:19+0000"
},
{
"modtype": "event",
"action": "viewed",
"date": "2017-08-24T01:35:29+0000"
},
{
"name": "New hire birthday event",
"modtype": "event",
"action": "invite sent",
"date": "2017-08-24T01:35:41+0000"
},
{
"name": "Thank you message",
"modtype": "finish",
"action": "viewed",
"date": "2017-08-24T01:35:44+0000"
}
]
},
{
"id": "seqid999",
"name": "Mgr Sequence2",
"status": "skipped",
"date": "2018-01-24T06:00:11+0000"
}
],
"sequences": [
{
"id": "seqid333",
"name": "Welcome Onboard",
"triggertype": "time",
"triggerdays": -10,
"seqfor": "Employee",
"overduedays": 2
},
{
"id": "seqid444",
"name": "Welcome New Hire",
"triggertype": "chained",
"parentid": "seqid123",
"triggerdays": -10,
"seqfor": "Direct Manager",
"overduedays": "3"
}
]
}
| Tag | Description | Comments |
1 | workflow | Workflow name |
|
2 | startdate | Start date of new hire |
|
3 | launchdate | Workflow launch date |
|
4 | startphase | Length of start phase | can be used to evaluate different phases e.g. pre, post and start phase |
5 | mode | Test or live | Distinguish between live and test modes |
6 | details.name | Sequence name |
|
7 | details.seqfor | To whom sequence is for | Employee or Manager (label) |
8 | modules.modtype | Module type | e.g. forms, event, Notification etc. |
9 | modules.action | Current action on module | Possible values are |
10 | sequences.triggertype | Determines if it is a time based sequence of dependent on another seuquence | Possible values are time, chained. If time, sequence will be launched at a specified time from the start date. If chained, it will be launched once the parent sequence is complete. |
11 | sequences.trigger days | Number of days from start date when sequence will be launched | -ve value is for before and +ve value is for after start date. e.g. -5 means 5 days before start date
|
12 | sequences.parentid | Id of the parent sequence in case of chained sequence |
|
13 | sequences.overduedays | Number of days when sequence will become overdue | Can be used to determine the overdue date |
Like to keep track of your Enboarder form data submitted by users in your company’s analytics platform? With our latest API update you can do exactly this! Check out the Export Forms API article here: