Introduction to connectors
A connector is meant to be used alongside Power Automate flows and MS LogicApps to build code-free business logic using 'block' constructors.
Here's a basic example of a flow :
Execution goes from top to bottom, and in this specific example, we're integrating the Oneflow connector with MS Dynamics. Whenever someone executes the flow in the scope of the contract record in the Dynamics environment, the flow will run and publish a contract.
Connector components
Actions
Note:
Our MVP version of the connector is based on Actions (Triggers will be available in the future).
Here's the list of all actions implemented at the moment:
Each action may have Input parameters and Output objects that you can use in subsequent steps.
Action reference
Below is a more detailed list of actions, their input parameters, and what they output.
Check API availability
Public API request: Check API availability.
Input: none
Output: none (empty object)
Create a contract
Public API request URL: Create a contract.
Input:
Name | Type | Required | Description |
---|---|---|---|
Workspace Id | Drop Down | Yes | |
Template Id | Drop Down | Yes | |
Name | String | No |
Output: Outputs a Contract object.
Create a contract participant
Public API request URL: Create a party in a contract, Create a participant
Input:
Participant type: Individual
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | yes | ID of the contract to add participants to |
Participant Type | enum | yes | Individual or company |
Party Country Code | string | no | ISO code of the country |
Delivery Channel | enum | yes | |
Participant Email | string | sometimes | Required if a delivery channel or sign method is set to email |
Participant Identification Number | string | no | |
Participant Name | string | yes | |
Participant Phone Number | string | sometimes | Required if the sign method is set to SMS. |
Participant Sign Method | enum | yes | |
Signatory? | boolean | no | |
Participant Title | string | no | |
Participant 2FA Method | enum | no | |
Permissions: Can update the contract? | boolean | sometimes | Required if Signatory is set to true |
Participant Type: Company
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | yes | ID of the contract to add participants to |
Party Country Code | string | no | ISO code of the country |
Delivery Channel | enum | yes | |
Participant Email | string | sometimes | Required if the delivery channel or sign method is set to email |
Party Name | string | ||
Party Identification Number | string | no | |
Participant Identification Number | string | no | |
Participant Name | string | yes | |
Participant Phone Number | string | sometimes | Required if the sign method is set to SMS. |
Participant Sign Method | enum | yes | |
Signatory? | boolean | no | |
Participant Title | string | no | |
Participant 2FA Method | enum | no | |
Permissions: Can update the contract? | boolean | sometimes | Required if Signatory is set to true |
Output: Dynamic output, either Participant or Party
Delete a contract
Public API request URL: Delete a contract by ID
Input:
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | yes |
Output: none (empty object)
Download a contract file by ID
Public API request URL: Get a contract file by ID
Input:
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | yes | |
File Id | int (with predefined enum) | yes | 1 - contract file 2 - definition |
Output: Outputs a file content in byte array format.
Get a contract status
Public API request URL: Get a contract by ID
Input:
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | yes |
Output:
Name | Type | Description |
---|---|---|
State | string | Status of the contract |
State Updated Time | DateTime | When the status of the contract was updated |
Contract's Updated Time | DateTime | When the contract was last updated |
Publish a contract
Public API request URL: Publish a contract by ID
Input:
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | Yes | |
Publish Notification Subject | String | Yes | |
Publish Notification Message | String | Yes |
Output: Contract model
Upload attachments
Public API request URL: Upload attachments
Input:
Name | Type | Required | Description |
---|---|---|---|
Contract Id | Int | Yes | |
File | Byte Array | Yes | Contents of the file |
File (file name) | String | Yes | File name (with file extension) |
Upload As | Enum | Yes | expanded_pdf or attachment |
Output: None (empty object)
Create connections
Whenever a connection is created, it asks for the email address and API Token:
It can then be applied to any actions using the Oneflow connector.
The inputted email is set to the "x-oneflow-user-email" header with each API call. The following policy takes care of that:
Note:
The API key is applied with regular functionality (without setting up any additional policies).