Vendor Connector name Last update Category Description
Connectors\Adobe SignConnector2018-02-07 E-signatures

Use this connector in the Adobe Sign use case to wrap Adobe Sign SDK calls.

Connectors\Aws Ec2Connector2018-02-07 Cloud Storage

Use this connector to manage Amazon EC2 services through the Amazon EC2 API.

Connectors\Docs DocxConnector2018-02-07 Documents

Use this connector in the Google API use case to process templates in docx format and replace data in placeholders.

Connectors\Docs HTMLDocConnector2018-02-07 Documents

Use this connector in the Google API use case to process templates in HTML format, replace data in placeholders, and then generate files to docx, odt, rtf, html, and pdf formats.

Connectors\Event CorrelationKeys2018-02-07 Other

Use this connector to match corresponding process instances when using intermediate throwing events.

Connectors\GoogleDrive GDConnector2018-01-31 Google

Use this connector in the Google API use case in conjunction with the Google Drive REST API to manipulate files in Google Drive, including uploading (into folders if needed), downloading, deleting, and renaming files.

Connectors\GoogleDrive GDPermissionsConnector2018-01-31 Google

Use this connector in the Google API use case to create and delete Google Drive permissions.

Connectors\GoogleDrive GDReaderConnector2018-01-31 Google

Use this connector in the Google API use case to get a file's content from Google Drive by its file name.

Connectors\Lua LuaConnector2018-01-31 No description available
Connectors\Mailables ConnectorMail2018-01-29 Messaging (mail, chat, etc.)

This connector is a technical helper that assists other email connectors to compose rich-formatted or plain-text emails. This connector is not called directly.

Connectors\Mailchimp SendMailChimp2018-01-31 Messaging (mail, chat, etc.)

Use this connector in the MailChimp use case to integrate between your process and the Mailchimp API.

Connectors\Slack ApiConnector2018-02-07 Messaging (mail, chat, etc.)

Use this connector in the Slack use case to integrate between your process and the Slack Web API.

Connectors\Slack SendMessageConnector2018-02-07 Messaging (mail, chat, etc.)

Use this connector in the Slack use case to set up and configure communication between your process and the Slack Incoming Webhooks API.

Adobe\SignConnector

E-signatures | Use this connector in the Adobe Sign use case to wrap Adobe Sign SDK calls.

Any variables containing binary documents will work with base64 encoded data.

Input parameters

Parameter Name Type Required Description
client_id String Yes Adobe Sign application ID for OAuth. Refer to create an application.
client_secret String Yes Adobe Sign application secret for OAuth. Refer to create an application.
refresh_token String Yes Connector uses this to retrieve access tokens when required. Adobe access tokens are short living, so this parameter generates long-living refresh tokens and stores them in cache before the current access token expires. Refer to get the access token article to retrieve refresh token.
action String Yes Adobe API action to call. Various actions require a different number of arguments. See below.
argument String No Pass up to five (5) arguments to Adobe Sign call. Example: getAgreementDocument action requires two arguments, which stands for $agreementId, $documentId. Refer to Adobe Sign wrapper for the whole action list and its arguments.
fileNameFormat String No Used by uploadTransientDocument action to indicate document format other than PDF. Example: document.doc indicates Adobe should parse input file as Microsoft Word format.

Output parameters

Parameter Name Type Required Description
any variable name String No Variable value can hold LUA script to parse response from an Adobe Sign call. Stored in DataModel.

Lua scripts can be passed as JSON encoded arrays put in the output parameter value in the following form:

{"Script":{"script":"outputVar = inputVar.transientDocumentId","language":"LUA"}}

Response data from Adobe is provided for the LUA script as variable names inputVar. The resulting variable outputVar is put into DataModel with variable_name and the given value.

Below is a BPMN snippet:

<pmio:outputParameter name="transient_id"><![CDATA[{"Script":{"script":"outputVar = inputVar.transientDocumentId","language":"LUA"}}]]></pmio:outputParameter>

In this example, DataModel's variable transient_id is replaced with the value of transientDocumentId from the Adobe response.

There is a specific substitution for variable value {result_base64} which takes a binary response from Adobe to encode it in base64 as the variable value.

Usage as BPMN Extension

<bpmn:serviceTask id="task_create_agreement" name="Generate Agreement">
<bpmn:extensionElements>
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="action">createAgreement</pmio:inputParameter>
<pmio:inputParameter name="argument1"><![CDATA[{
"documentCreationInfo": {
"fileInfos": {
"libraryDocumentId": "3AAABLblqZhB9IoUsv1p5XrVAUCiELUqTsKj-g4UeGEEDK1yMCJDVCSSn0EfZpekdX4pcf4exXXwF2KxA7CFryG2q_atnmKBC"
},
"name": "Loan Request",
"signatureType": "ESIGN",
"callbackInfo": "{sign_callback}",
"recipientSetInfos": {
"recipientSetMemberInfos": {
"email": "{email}"
},
"recipientSetRole": [
"SIGNER"
]
},
"mergeFieldInfo": [
{
"fieldName": "Name",
"defaultValue": "User {user_name}"
},
{
"fieldName": "amount",
"defaultValue": "{amount}"
}
],
"signatureFlow": "SENDER_SIGNATURE_NOT_REQUIRED",
"formFields": [
{
"displayLabel": "Borrower signature",
"recipientIndex": "1",
"contentType": "SIGNATURE",
"maxLength": "50",
"minLength": "1",
"locations": {
"height": "20",
"width": "100",
"pageNumber": "2",
"left": "450",
"top": "200"
},
"name": "Borrower signature",
"inputType": "SIGNATURE",
"required": "true",
"defaultValue": "",
"fontSize": "8.0",
"readOnly": "false",
"borderWidth": "1.0",
"tooltip": "Borrower signature"
},
{
"displayLabel": "email",
"maxLength": "50",
"minLength": "1",
"locations": {
"height": "20",
"width": "100",
"pageNumber": "2",
"left": "80",
"top": "50"
},
"name": "Co-borrower email",
"inputType": "TEXT_FIELD",
"required": "false",
"fontSize": "8.0",
"readOnly": "false",
"borderWidth": "1.0",
"tooltip": "Enter email of optional co-borrower"
}
]
}
}
]]></pmio:inputParameter>
<pmio:inputParameter name="refresh_token">{sign_refresh_token}</pmio:inputParameter>
<pmio:inputParameter name="client_id">{sign_client_id}</pmio:inputParameter>
<pmio:inputParameter name="client_secret">{sign_client_secret}</pmio:inputParameter>
<pmio:outputParameter name="agreement_id">
<![CDATA[{"Script":{"script":"outputVar = inputVar.agreementId","language":"LUA"}}]]></pmio:outputParameter>
</pmio:inputOutput>
<pmio:connectorId>Adobe\SignConnector</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:serviceTask>

Aws\Ec2Connector

Cloud Storage | Use this connector to manage Amazon EC2 services through the Amazon EC2 API.

Input Parameters

Parameter Name Type Required Description
command String Yes AWS EC2 API command to run. Example: StartInstances.
options JSON No Structure with arguments to be passed to an API call. Example: {"InstanceIds":["{instance_id}"]}. This structure is filled in with the instance_id variable from DataModel and passed to an API call.
ignore_exception Boolean No If set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output parameters

Parameter Name Type Required Description
any variable name String No Variable value can hold LUA script to parse response from an AWS call. Stored in DataModel.

Lua scripts can be passed as JSON encoded arrays put in the output parameter value in the following form:

{"Script":{"script":"outputVar = inputVar.StartingInstances[0].CurrentState","language":"LUA"}}

Response data from AWS is provided for the LUA script as variable names inputVar. Resulting variable outputVar is put into DataModel with variable_name and the given value.

Docs\DocxConnector

Documents | Use this connector in the Google API use case to process templates in docx format and replace data in placeholders.

Input Parameters

Parameter Name Type Required Description
docx_template Base64 String Yes Template in DOCX format used to generate output document. Template can contain placeholder variables for replacement. Example: ${RequesterName}.
replacement_array JSON No Associative array where key is the placeholder name and value is the replacement. Array can contain curly bracketed variables which are substituted by the engine from DataModel. Example: {"RequesterName":"John"}.
options JSON No Array with connector options.
ignore_exception Boolean No If set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Parameter Name Type Required Description
{docx_result} Base64 String No Binary document in DOCX format.

Docs\HTMLDocConnector

Documents | Use this connector in the Google API use case to process templates in HTML format, replace data in placeholders, and then generate files to docx, odt, rtf, html, and pdf formats.

Input Parameters

Parameter Name Type Required Description
document_format String Yes Specify one of the following formats to generate document output: DOCX, ODT, RTF, HTML, PDF.
document_template String Yes HTML formatted template to generate document. No body or html tags are required. Variables in curly brackets are substituted by its values from DataModel. Example: {status.name}.
filename String No Base file name for the document output, without extension. Constructs output parameter filename. Example: invoice.
options JSON No Array with connector options.
orientation JSON No Orientation of the document output. Can be 'portrait' or 'landscape'.
size JSON No Paper size of the document output. Example: A4. See ISO/IEC 29500-1:2012 pg. 1656-1657.
ignore_exception Boolean No If set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Parameter Name Type Required Description
{filename} String No File name for document output, including extension to indicate document format. Example: invoice.pdf.
{mimetype} String No Output document mimetype. Example: application/vnd.openxmlformats-officedocument.wordprocessingml.document for DOCX format.
{file_content} Base64 String No Binary document in the given format.

Event\CorrelationKeys

Other | Use this connector to match corresponding process instances when using intermediate throwing events.

Use this connector to send an event from one process instance to another specific process instance to continue processing a document. Below is an example: * Create a document with a document ID from a process instance. * Use an intermediate throw event that contains that document ID's value to send that event to a different process instance. * The other process instance uses a catcher event that is waiting for that document ID's value to continue processing that document. The targeted process uses an action that continues document processing when recognizing the document ID. In this example, use the correlation key to match the document ID between process instances. To do so, the correlation key connector contains a variable name with the specific document ID.

Input Parameters

Parameter Name Type Required Description
any_parameter_name String Yes Parameter name used as a variable name to analyze and/or match a variable value in a target process instance.
options JSON No Structure with arguments to be passed to an API call. Example: {"InstanceIds":["{instance_id}"]}. This structure is filled in with the instance_id variable from DataModel and passed to an API call.
ignore_exception Boolean No If set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Usage as BPMN Extension

<bpmn:intermediateThrowEvent id="intermediate_thrower" name="Status update">
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="agreement_id">{documentKey}</pmio:inputParameter>
</pmio:inputOutput>
<pmio:connectorId>Event\CorrelationKeys</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:messageEventDefinition>
</bpmn:intermediateThrowEvent>

GoogleDrive\GDConnector

Google | Use this connector in the Google API use case in conjunction with the Google Drive REST API to manipulate files in Google Drive, including uploading (into folders if needed), downloading, deleting, and renaming files.

Input Parameters

Parameter Name Type Method Required Description
client_id String Yes Google Drive application ID for OAuth. Refer to Google Drive API authorization.
client_secret String Yes Google Drive application ID for OAuth. Refer to Google Drive API authorization.
refresh_token String Yes Google Drive application refresh token. Refer to Google Drive API authorization.
method String Yes Indicates which operation to perform. Can be one of the following: write, read, update, and delete.
file_id String update delete Yes Unique ID for the file.
folder_name String write No Unique name for a folder. Creates a folder if it does not exist. Otherwise the file is uploaded to the root directory.
file_content Base64 write Yes Content of the file.
new_name String update No Changes file_id value to rename the file.
options JSON No Array with connector options. Currently supports ignore_exception. If ignore_exception set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Write method

Placeholder Name Type Description
{file_id} String Replaced by file\_id value.
{folder_id} String Replaced by folder\_name value if that input parameter is specified.

Read method

Placeholder Name Type Description
{file_content_from_drive} Base64 Replaced by file\_content value.
{filename_from_drive} String Replaced by full file name from the Google Drive, including extension.
{mimetype_from_drive} String Replaced by MIME type of the file.
{filesize_from_drive} String Replaced by file size of the file in bytes.

Usage as BPMN Extension

<bpmn:serviceTask id="upload_to_gdrive" name="Upload generated NDA to Google Drive">
<bpmn:extensionElements>
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="client_id">{client_id}</pmio:inputParameter>
<pmio:inputParameter name="client_secret">{client_secret}</pmio:inputParameter>
<pmio:inputParameter name="refresh_token">{refresh_token}</pmio:inputParameter>
<pmio:inputParameter name="method">write</pmio:inputParameter>
<pmio:inputParameter name="file_content">{NDA_result}</pmio:inputParameter>
<pmio:inputParameter name="file_name">NDA_docx_result.docx</pmio:inputParameter>
<pmio:inputParameter name="folder_name">NDA docx result</pmio:inputParameter>
<pmio:outputParameter name="NDA_docx_result_file_id">{file_id}</pmio:outputParameter>
<pmio:outputParameter name="NDA_docx_result_folder_id">{folder_id}</pmio:outputParameter>
</pmio:inputOutput>
<pmio:connectorId>GoogleDrive\GDConnector</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:serviceTask>

GoogleDrive\GDPermissionsConnector

Google | Use this connector in the Google API use case to create and delete Google Drive permissions.

Input Parameters

Parameter Name Type Method Required Description
client_id String Yes Google Drive application ID for OAuth. Refer to Google Drive API authorization.
client_secret String Yes Google Drive application ID for OAuth. Refer to Google Drive API authorization.
refresh_token String Yes Google Drive application refresh token. Refer to Google Drive API authorization.
method String Yes Indicates which operation to perform. Can be one of the following: create and delete.
file_id String create delete Yes ID for the file in which permission action is to be performed.
permission_list JSON create Yes Array with permission structure. Example: [{"sendNotificationEmail":false,"role":"writer","type":"user", "emailAddress":"{RequesterEmail}"}]. {RequesterEmail} is substituted by the engine with the value from DataModel.
permission_ids JSON delete Yes Array with permission IDs.
options JSON No Array with connector options. Currently supports ignore_exception. If ignore_exception set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Create operation

Placeholder Name Type Description
{permission_ids} JSON Permission IDs created with create method.
{share_link} String Sharable link URI (if applicable).

Usage as BPMN Extension

<bpmn:serviceTask id="create_permission_task" name="Share Document">
<bpmn:extensionElements>
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="client_id">{client_id}</pmio:inputParameter>
<pmio:inputParameter name="client_secret">{client_secret}</pmio:inputParameter>
<pmio:inputParameter name="refresh_token">{refresh_token}</pmio:inputParameter>
<pmio:inputParameter name="file_id">{NDA_docx_result_file_id}</pmio:inputParameter>
<pmio:inputParameter name="permission_list"><![CDATA[[{"sendNotificationEmail":false,"role":"writer","type":"user", "emailAddress":"{RequesterEmail}"}]]]></pmio:inputParameter>
<pmio:inputParameter name="method">create</pmio:inputParameter>
<pmio:inputParameter name="options"><![CDATA[{"ignore_exception":true}]]></pmio:inputParameter>
<pmio:outputParameter name="GoogleDocLink">{share_link}</pmio:outputParameter>
</pmio:inputOutput>
<pmio:connectorId>GoogleDrive\GDPermissionsConnector</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:serviceTask>

GoogleDrive\GDReaderConnector

Google | Use this connector in the Google API use case to get a file's content from Google Drive by its file name.

Input Parameters

Parameter Name Type Required Description
client_id String Yes Google Drive application ID for OAuth. Refer to Google Drive API authorization.
client_secret String Yes Google Drive application ID for OAuth. Refer to Google Drive API authorization.
options JSON No Array with connector options. Currently supports ignore_exception. If ignore_exception set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Placeholder Name Type Description
{file_content_from_drive} Base64 Content of the file.
{filename_from_drive} String Replaced by full file name from the Google Drive, including extension.
{mimetype_from_drive} String Replaced by MIME type of the file.
{filesize_from_drive} String Replaced by file size of the file in bytes.

Usage as BPMN Extension

<bpmn:serviceTask id="read_template_task" name="Read template from the Google Drive">
<bpmn:extensionElements>
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="file_name">NON-DISCLOSURE-AGREEMENT-TEMPLATE.docx</pmio:inputParameter>
<pmio:inputParameter name="client_id">{client_id}</pmio:inputParameter>
<pmio:inputParameter name="client_secret">{client_secret}</pmio:inputParameter>
<pmio:inputParameter name="refresh_token">{refresh_token}</pmio:inputParameter>
<pmio:outputParameter name="template_content_from_drive">{file_content_from_drive}</pmio:outputParameter>
</pmio:inputOutput>
<pmio:connectorId>GoogleDrive\GDReaderConnector</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:serviceTask>

Lua\LuaConnector

Mailables\ConnectorMail

Messaging (mail, chat, etc.) | This connector is a technical helper that assists other email connectors to compose rich-formatted or plain-text emails. This connector is not called directly.

Your email would be sent with the From field pre-set in the following form:

first\_name last\_name <process\_owner\_name@your\_environment\_id.processmaker.io>

Input Parameters

Parameter Name Type Required Description
to String Yes Email address of the recipient.
to_name String No Name of recipient.
body Plain-Text or HTML Yes Email content in plain-text or HTML form if specified in options. See plain_text below.
subj String No Subject of the email.
bcc String No Email address of blind carbon copy recipient.
bcc_name String No Name of blind carbon copy recipient.
cc String No Email address of carbon copy recipient.
cc_name String No Name of carbon copy recipient.
reply_to String No Email address of reply to recipient.
reply_to_name String No Name of reply to recipient.
options JSON No Array with connector options.
plain_text Boolean No If set true email body is plain-text. If set false, email body is HTML.

Mailchimp\SendMailChimp

Messaging (mail, chat, etc.) | Use this connector in the MailChimp use case to integrate between your process and the Mailchimp API.

Input Parameters

Parameter Name Type Required Description
api_key String Yes MailChimp API key. Refer to API Keys.
action String Yes Indicates which HTTP method to perform. Can be one of the following: get, put, post, patch, and delete.
method String Yes Indicates which API endpoint to call. Example: lists/{list_id}/members/{email_md5}. Variables in curly brackets are substituted with the values from DataModel.
arguments JSON Yes Array passed as API call arguments. See example below.
options JSON No Array with connector options. Currently supports ignore_exception. If ignore_exception set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Argument example in JSON:

`{"email_address":"{customer_email}","status":"subscribed","status_if_new":"subscribed","merge_fields":{"FNAME":"{customer_fname}","LNAME":"{customer_lname}"}}`

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Placeholder Name Type Description
{response_body} String Replaced by response text.
{last_error} String Replaced by error text if the call action was unsuccessful.
{result_successful} String Replaced by confirmation text if the call action was successful.

Usage as BPMN Extension

<bpmn:serviceTask id="mailchimp_subscription_task" name="Mailchimp Subscribe">
<bpmn:extensionElements>
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="arguments"><![CDATA[{"email_address":"{customer_email}","status":"subscribed","status_if_new":"subscribed","merge_fields":{"FNAME":"{customer_fname}","LNAME":"{customer_lname}"}}]]></pmio:inputParameter>
<pmio:inputParameter name="action">put</pmio:inputParameter>
<pmio:inputParameter name="options"><![CDATA[{"ignore_exception":true}]]></pmio:inputParameter>
<pmio:inputParameter name="method">lists/{list_id}/members/{email_md5}</pmio:inputParameter>
<pmio:inputParameter name="api_key">{mailchimp_api_key}</pmio:inputParameter>
<pmio:outputParameter name="subscription_data">{response_body}</pmio:outputParameter>
<pmio:outputParameter name="subscription_error">{last_error}</pmio:outputParameter>
<pmio:outputParameter name="subscription_successful">{result_successful}</pmio:outputParameter>
</pmio:inputOutput>
<pmio:connectorId>Mailchimp\SendMailChimp</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:serviceTask>

SendMailConnector

Messaging (mail, chat, etc.) | Use this connector to send email messages via ConnectorMail in the Google API, MailChimp, and Slack use cases.

Compose email in plain-text or rich-formatted HTML. The connector sends the email via a pre-configured driver.

InputParameters

Refer to ConnectorMail for email composition arguments.

Parameter Name Type Required Description
options JSON No Array with connector options.
send_queue Boolean No If set true mail is queued for sending and process flow continues immediately. This is an alternative to async\_before service task attribute.
mail_driver String No Used to configure mail driver for sending out email. Can be ses or log. Amazon SES is set by default.
ignore_exception Boolean No If set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure.

OutputParameters

All parameters support variable substitution from current DataModel via curly brackets or can be set directly. This connector does not support any specific substitution variables in output parameters.

Usage as BPMN Extension

<bpmn:serviceTask id="mail_customer_task" name="Mail Customer">
<bpmn:extensionElements>
<pmio:connector>
<pmio:inputOutput>
<pmio:inputParameter name="to">{request.customer_email}</pmio:inputParameter>
<pmio:inputParameter name="bcc">alex@processmaker.com</pmio:inputParameter>
<pmio:inputParameter name="body"><![CDATA[<html><body>Hello dear {request.customer_name}!
<br>
This is email to confirm we've got your inquiry to buy our spaceship.
<br>
Key is {request.key}
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot">
</body></html>
]]></pmio:inputParameter>
<pmio:inputParameter name="options"><![CDATA[{"mail_driver":"log"}]]></pmio:inputParameter>
<pmio:inputParameter name="to_name">{request.customer_name}</pmio:inputParameter>
<pmio:inputParameter name="cc">oleg@processmaker.com</pmio:inputParameter>
<pmio:inputParameter name="cc_name">The Boss</pmio:inputParameter>
<pmio:inputParameter name="subj">Per your request</pmio:inputParameter>
<pmio:inputParameter name="reply_to">custom_catcher@processmaker.com</pmio:inputParameter>
<pmio:inputParameter name="reply_to_name">Custom Catcher</pmio:inputParameter>
</pmio:inputOutput>
<pmio:connectorId>SendMailConnector</pmio:connectorId>
</pmio:connector>
</bpmn:extensionElements>
</bpmn:serviceTask>

Slack\ApiConnector

Messaging (mail, chat, etc.) | Use this connector in the Slack use case to integrate between your process and the Slack Web API.

Input Parameters

Parameter Name Type Required Description
client_id String Yes Slack Web API application ID for OAuth. Refer to Using OAuth 2.0.
client_secret String Yes Slack Web API application ID for OAuth. Refer to Using OAuth 2.0.
refresh_token String Yes Slack Web API application refresh token. Refer to Using OAuth 2.0.
api_url String Yes Placeholder for a Slack API endpoint. Example: Post a chat message. This URI does not function until you have Slack Web API authorization. Refer to the Slack API documentation for more information.
options JSON No Array with connector options. Currently supports ignore_exception. If ignore_exception set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Any other parameters are passed to the Slack endpoint. Example for the post a chat message endpoint:

Parameter Name Type Required Description
token String Yes Slack Web API access token.
attachments No JSON Array passed as an attachments array.
text String Yes Message to send. Basic message formatting can be used.

Output Parameters

Any variable name that is put into DataModel supports variable substitution for the following curly bracketed placeholders or can be set directly:

Placeholder Name Type Description
{body} JSON Replaced by array response from the Slack Web API. Example: <pmio:outputParameter name="slack_result">{body}</pmio:outputParameter>.

Usage as BPMN Extension

<bpmn:serviceTask id="ServiceTask" name="Send Time Off Request">
<bpmn:extensionElements>
<pmio:connector>
<pmio:connectorId>Slack\ApiConnector</pmio:connectorId>
<pmio:inputOutput>
<pmio:inputParameter name="api_url">https://slack.com/api/chat.postMessage</pmio:inputParameter>
...

All parameters supports variable substitution from current DataModel via curly brackets or can be set directly. Example:

<pmio:inputParameter name="api_url">{slack_token}</pmio:inputParameter>
<pmio:outputParameter name="slack_sent">1</pmio:outputParameter>

Slack\SendMessageConnector

Messaging (mail, chat, etc.) | Use this connector in the Slack use case to set up and configure communication between your process and the Slack Incoming Webhooks API.

This connector validates the response body from Slack is equal to ok. Otherwise, the connector throws an exception.

Input Parameters

Parameter Name Type Required Description
token String Yes Slack Web API access token.
attachments No JSON Array passed as an attachments array.
text String Yes Message to send. Basic message formatting can be used.
options JSON No Array with connector options. Currently supports ignore_exception. If ignore_exception set true any exception when the connector runs is ignored. If set false, the process instance pauses. ignore_exception is not passed to an API call as a part of argument structure. Example: {"ignore_exception":true}.

Output Parameters

This connector does not support any specific substitution variables in output parameters.

Usage as BPMN Extension

<bpmn:serviceTask id="ServiceTask" name="Send Confirmation Request Accepted">
<bpmn:extensionElements>
<pmio:connector>
<pmio:connectorId>Slack\SendMessageConnector</pmio:connectorId>
<pmio:inputOutput>
<pmio:inputParameter name="api_url">https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX</pmio:inputParameter>
...

Any variable name that is put into DataModel supports variable substitution for curly bracketed placeholders or can be set directly.

Example:

<pmio:inputParameter name="api_url">{response_url}</pmio:inputParameter>

Example:

<pmio:outputParameter name="slack_notification_sent">1</pmio:outputParameter>