Creating your own connector
You can download your own connector that is tailored for your tasks.
The connector is accessible from your personal account: Process Editing -> List of Connectors -> Upload a Connector.
The connector is described with the help of a JSON structure that is configured as follows:
{ "name": "My own connector", "image":"", "description": "The useful connector", "type": "custom", "code": { "before": "", "after": "", "script": "<JS code>" }, "params": { "type": "string", "" } }
Name | Type | Description |
---|---|---|
name | string |
Connector name. Obligatory parameter. |
image | string |
Connector logo in base64 format. |
description | string |
Connector description. |
type | string |
Connector type. "custom" should always be used. |
code | object |
Object describing the executed connector code |
params | object |
This section contains descriptions of parameters, the values of which will be requested of the user when editing the connector. They can be further used while executing the connector code. |
Code of connector
The code section is configured as follows:
Name | Type | Description |
---|---|---|
before | string |
The code described in this section will be run before the main executed code. It is optional. |
script | string |
Main executed code of the connector. This code is required. |
after | string |
The code described in this section will be run after the main code executed. It is optional. |
Params of connector
Each parameter is described by a section that has the following configuration:
Name | Type | Description |
---|---|---|
handler | string |
JavaScript - a code that helps validate the values of parameters transmitted while saving the connector. |
type | string |
Parameter type that can adopt the following values: string, select, boolean, multistring, number, date, code; |
title | string |
Parameter heading that will appear in the user interface. |
values | array of objects |
This section is only needed for the "select" type. It inserts the values into a drop-down list. Example: values: [{title: "Man", value: "1"}, {title: "Woman", value: "2"}] |
visible | object |
Object describing dependent parameters, where "property" stands for the name of another parameter, and "value" stands for the value at which the current field will be displayed. Example: visible:{"paramName": "value"} |
order | integer |
Displaying the field while editing under a user name. |
schema | object |
Not implemented yet |
defaultValue | object |
Not implemented yet |
Example of a uploaded connector
{ "image" : "", "name" : "Webhook", "description" : "Webhooks allow you to accept external http requests", "type" : "custom", "code" : { "before" : "", "after" : "", "script" : "<JS code>" }, "params" : { "method" : { "values" : [ { "value" : "POST", "title" : "POST" }, { "title" : "GET", "value" : "GET" } ], "handler" : "if (params[name] !== 'POST' && params[name] !== 'GET') {\n\tthrow new Error('Unknown method');\n}", "type" : "select", "title" : "Http method" }, "action" : { "handler" : "if (typeof params[name] !== 'string' || params[name].length < 5) {\n\tthrow new Error(name + ' is empty or less than 5 chars');\n}", "type" : "string", "title" : "Endpoint" }, "once" : { "handler" : "if (typeof params[name] !== 'boolean') {\n\tthrow new Error(name + ' must be boolean of type');\n}", "type" : "boolean", "title" : "Once" } } }