- Get started
- Build
- Deploy and run
- Examples
- Reference
How connector nodes work
Connector nodes: how a node wraps one action of an app, signs in through a connection, and passes its output and errors to the rest of the workflow.
A connector node runs one action of another app, such as Create Lead in Salesforce or Send Message to Channel in Slack. The node knows the app's API, so you fill in a form instead of building the request yourself, and a connection signs the node in to the app with your account.
Every connector available in Maestro Automate is listed on the Connector page.
How a connector node is set up
When you add a connector node to the canvas, Maestro Automate reads the action's input schema and builds a form for it in the properties panel. The form has a connection field, followed by the fields of the action. At run time, the node sends the request to the app and returns the app's response.
Connection
The first field of the Parameters tab, for example Slack connection, selects the connection that the node signs in with. Its list shows the connections you can use, grouped by folder, with the status of each one, such as Connected. A pencil icon next to a connection edits it. The list also has two more options:
- Add new connection opens the Connect to page of the app, where the connection is created. Create a connection describes the steps.
- Open connections opens the Connections page, which lists every connection with its connector, account, and status.
A connection stores the sign-in details, refreshes tokens, and keeps secrets out of the workflow, so a node never holds a password or an authorization header itself.
Inputs
Each action has its own fields, based on the API operation it wraps. A Create Issue node shows different fields than a List Repositories node, even in the same connector. Every field accepts variable expressions, such as $vars.<nodeName>.<property>.
Output
The output of a connector node is at $vars.<nodeName>.output. Its shape depends on the action and the API it calls.
// The output of a GitHub node named "listBranches1"
$vars.listBranches1.output
// The output of a GitHub node named "listBranches1"
$vars.listBranches1.output
Errors
Connector nodes have an error handle. If the API call fails and the error handle is connected, the run continues on the error path, with the standard error object at $vars.<nodeName>.error. Error handling describes it.
Events
Many connectors also have events, which fire when something happens in the app, such as a new email or an updated record. An event can start a workflow, as a Connector trigger, or pause a run until it happens, as a Connector event. A trigger's data is at $vars.<triggerName>.output. Triggers describes it.
Connector or HTTP Request
| Use a connector node when... | Use HTTP Request when... |
|---|---|
| A connector exists for the app | No connector exists for the app |
| You want typed inputs and outputs, with no manual setup | You need full control over headers, query parameters, and body |
| You want a connection to handle sign-in for you | The API uses a non-standard sign-in scheme |
| You want a workflow that adapts to changes in the API | You're prototyping against a new or internal API |
Check the Connector page first. HTTP Request is the fallback when no connector exists for the app.
Next steps
- Create a connection: sign a workflow in to an app.
- Connector: every connector, grouped by area.
- Variables and data flow: read connector output with
$vars. - Community: ask questions and share workflows with other builders on the UiPath Forum.