Status | ||||||
---|---|---|---|---|---|---|
|
Table of Contents |
---|
General Description
This example shows the user how to use ProcessMaker I/O API
Onboarding Process Example
This example
...
API for the most common organization business process. This example describe on boarding process for the new customer
On-boarding Process Example
This diagram describe on boarding process for the new customer
The process diagram defined above will conduct a tracking of all on boarding request for the integration project.
Process Scheme
Participants
Process name | Description |
Main process | The company for the onboarding process |
Supervisor | A user who have permission to stop on boarding process if something was wrong |
Requester | A user who request the boarding process into the company |
Activities
Activity name | Activity type | Activity description | Forms |
---|---|---|---|
Manual request | Empty start event | Requester ask about new access and fill Manual request Form | Manual Request |
API request | Message start event | Onboarding process can be started from 3d part API | |
Record customer | User task | In this form user needs to define the workflow requirement. | Record Form (Google Form) |
Validate Workspace | User task | This task is for the validators, they need to define 2 main aspects: 1) requested workspace id is not taken, 2) a valid license file should be uploaded. | Validate workspace form |
Create Production Workspace Create Sandbox Workspace Create Development Workspace | Service task | These tasks can be performed depending of the initial request to create the workspace with requested information. | |
Generate Summary | Script task | This activity is executed by ProcessMaker I/O engine an is a script to generate a PDF with the information about the workspaces and credentials. | |
Verify Onboarding Data | User task | This activity is created to validate for the same user has approved all information generated by the other activities. | Verify Onboarding Data |
ID
Name
Intermediate Event type
Timer Definition type (Calendar Date, Duration)
ID
Name
Intermediate Event type
Script type (expression, connector, external, etc)
Script name
Script body
Message id
Messages
Message Title | Item | Type | Content |
---|---|---|---|
Notification to requester | "Verify Onboarding Data" User Task /Notify Requester Message event | email message | Hello {{Requester name}}, You request was approved and implemented. A workspaces for {{ClientName}} was created Please find the summary document with Credential report in the attachment Best regards! |
Notification to supervisors | "Validate workspace" User task /Notify Supervisor Message event | email message | Hello {{Supervisor name}}, We just wanted to inform you , that {{Requester name}} request for creating workspaces for {{ClientName}} wasn't validated during dedicated time Best regards! |
Documents
Document name | Item | Type | Template |
---|---|---|---|
Credential report | Generate Summary | Credential report |
Process Items
The tasks in the process are listed in the table below:
A user who have permission to stop on boarding process if something was wrong
...
Task
...
Type
...
Process
...
Connector
...
Description
...
Time Off Request
...
Start Event
...
Requester
...
...
Starts the Requester process
...
Initiate SlackBot
...
Script Task
...
Requester
...
...
This technical task runs script and sets up the Slack application parameters, such as AppNumber, Dates, Slack bot token and Slack channel name
...
Send Time Off Request
...
Service Task
...
Requester
...
Slack\APIConnector
...
This is where the user requests the time off.
...
Slack Request Sent
...
Intermediate Message Event
...
Requester
...
...
This message event sends the request for approval
...
Approve Request
...
Start Message Event
...
Approver
...
...
This start event is initiated by the Slack Request Sent message event and launches the approver process
...
Slack Response Received
...
Start Event
...
Slack Action
...
...
This event launches the Slack API when the "Approve" or "Reject" button is clicked
...
Parse Payload
...
Script Task
...
Slack Action
...
...
This script decodes json and prepares the data to send in the Slack API response to the approver
...
Get Slack Callback
...
Intermediate Message Event
...
Slack Action
...
CorrelationKeys
...
Gets the callback and sends the Slack response to the appropriate process instance
...
Response Confirmation
...
Service Task
...
Slack Action
...
Slack\SendMessageConnector
...
This connector sends the Slack webhook
...
Get Slack Response
...
Intermediate Message Event
...
Approver
...
...
When the approver gets the response from the Slack webhook, the approver can continue with the approval process
...
Send Approval/Send Decline
...
Service Task
...
Approver
...
Slack\APIConnector
...
This is where the approver makes a decision
...
Send Confirmation Request Accepted
...
Service Task
...
Requester
...
Slack\SendMessageConnector
...
This is where the requester gets a message notifying them that their request is being reviewed
...
Decision Made
...
Intermediate Message Event
...
Requester
...
CorrelationKeys
...
This message event sends a notification to the requester with the approver's decision
Messages
All messages is sending via email connectors
Message Title
Task
Location
Content
Notification to approver
Approve Time Off
Channel
Hello UserFullname
,
A new request for time off has been initiated by RequestorFullname
.
{RequestorFullname} has requested to take time off from TimeOffDateStart}) until {{TimeOffDateEnd
. That would mean a total of TotalTimeOff
days off.
Would you like to Approve or Reject this request?
Note: To approve or reject the request, please click on the appropriate text above, or you may type either "/pm-route 253 approve" to approve the request, or "/pm-route 253 reject" to reject the request.
Approval notification to requestor
Approve Time Off
Private Message
Hello RequestorFullname
,
We just wanted to let you know that you have the best boss in the world!
Your request for time off, from TimeOffDateStart
until TimeOffDateEnd
has been approved!
For your records, the case number is AppNumber
.
Enjoy your time off!
Rejection notification to requestor
Approve Time Off
Private Message
Hello RequestorFullname
,
We regret to inform you that you have a bad boss!
Your request for time off has been rejected.
For your records, the case number is AppNumber
.
Better luck next time!
New case note
All
Private Message
UserFullname
, We just wanted to let you know that there has been a new case note added to case number
AppNumber
. See below for the full note.
"
CaseNote_Content
"Getting Started with example
To work with MVP example click on a top navigation tab labeled “Onboarding Example” on the Examples portal.
...
Please refer to “Readme”, “Import”, and “Process List” sections to import BPMN file with the process.
Users
For that specific example you will need three users:
...
During process execution you can monitor your Process Instances and its status using “Process List” page.
Forms
Manual Request
This is jQuery form which will trigger “Manual Request” event for the Process. Fill in the form and press “Create new client” button. This will send JSON API request to appropriate PM.IO API endpoint. To ensure your Process Instance was created you may use “Process List” feature.
...