Connector functions

Connectors are step functions for workflows that behave like Slack functions for services external to Slack. They take inputs and perform work for you when added as steps to your workflows.

Connector functions can be used by Slack users inside Workflow Builder, too! If you would like to see some examples of using connectors without code, check out these workflow templates.

Browse connectors

Auth strategy Capabilities
user Can use End-user authentication via OAuth
dev Can use Developer authentication via OAuth configured by an app collaborator
vars Requires workspace environment variables for authentication
Service Connector Auth strategies
Adobe Acrobat Sign Send an agreement user dev vars
Airtable Add a record user
Airtable Delete a record user
Airtable Select a record user
Airtable Update a record user
Asana Comment on a task user dev
Asana Create a project user dev
Asana Create a task user dev
Asana Update a task user dev
Basecamp Create a project user dev
Basecamp Create a to-do user dev
Basecamp Create a to-do list user dev
Basecamp Mark a to-do complete user dev
Basecamp Mark a to-do pending user dev
Bitbucket Create an issue user dev
Bitbucket Merge pull request user dev
Box Copy a file user dev
Box Create a folder user dev
Box Sign Create a sign request with a template user
Calendly Get meeting link user dev
ClickUp Create a task user dev
Deel Add a time off request user dev
Deel Create a new contract user
Dialpad Send an SMS user dev
DocuSign Create an envelope user dev
DocuSign Send an envelope user dev
Dropbox Copy a document user
Dropbox Create a folder user
Dropbox Create a shared link user
Dropbox Delete a document user
Dropbox Move a document user
Dropbox Sign Send signature request using a template user
FireHydrant Create an incident vars
FireHydrant Create a task vars
FireHydrant Update an incident vars
FireHydrant Update a task vars
Giphy Random GIF
Giphy Search for a GIF
GitHub Create an issue user dev
GitHub Enterprise Server Create an issue user dev vars
GitLab Create an issue user dev
Google Calendar Add attendee to an event user dev
Google Calendar Create a calendar event user
Google Mail Send an email user
Google Meet Start a meeting - BETA user dev
Google Sheets Add to spreadsheet user dev
Google Sheets Delete from a spreadsheet user dev
Google Sheets Select a spreadsheet row user dev
Google Sheets Update a spreadsheet user dev
Google Tasks Create a task list user dev
Google Tasks Insert a task user dev
Greenhouse Onboarding Create pending hire vars
Greenhouse Onboarding Fetch employees vars
Greenhouse Recruiting Hire Application vars
Greenhouse Recruiting Candidate activity vars
Greenhouse Recruiting List job candidates vars
Greenhouse Recruiting Reject Application vars
Guru Add a comment user
Guru Create a card user
Guru Delete a card user
Guru Unverify a card user
Guru Update a card user
Guru Verify a card user
Intercom Create an article user dev
Intercom Create a ticket user dev
JIRA Cloud Create an issue user dev
JIRA Cloud Edit an issue user dev
LaunchDarkly Create approval request to update a feature flag's state user dev
LaunchDarkly Create a feature flag user dev
LaunchDarkly Update a feature flag's state user dev
LaunchDarkly Update a target in a feature flag user dev
LaunchDarkly Update a target in a segment user dev
Lever Create an interview vars
Lever Create an opportunity vars
Lever Create a panel vars
Linear Add a comment user dev
Linear Create an issue user dev
Linear Create a project user dev
Linear Update an issue user dev
Loopio Create a project vars
Lucid Create a document user dev
Mailchimp Add a contact to audience user dev
Mailchimp Create an email campaign user
Mailchimp Get campaign report user
Mailchimp Send a Campaign user dev
Microsoft Excel Add to worksheet user
Microsoft Excel Delete from a worksheet user
Microsoft Excel Select a worksheet row user
Microsoft Excel Update a worksheet user
Microsoft OneDrive Copy a file user
Microsoft OneDrive Create a file user
Microsoft OneNote Create a page user
Microsoft OneNote Update a page user
Microsoft Outlook Calendar Create a calendar event user
Microsoft Outlook Email Send an email user
Microsoft Teams Calls Create a meeting user
Miro Copy board user dev
Miro Create board user dev
Monday Archive a board user
Monday Create a board user
Monday Create a group user
Monday Create an item user
Notion Archive a page user
Notion Create a page user
PagerDuty Add a note user dev
PagerDuty Trigger an incident user dev
PagerDuty Change escalation level user dev
PagerDuty Resolve an incident user dev
Ramp Create new physical card user dev
Ramp Create spend request user dev
Ramp Create new virtual card user dev
Ramp Get a spend request user dev
Ramp Suspend a card user dev
Ramp Terminate a card user
Ramp Unlock a card user dev
RingCentral Send a SMS user dev
Rootly Create an alert vars
Rootly Create a cause vars
Rootly Update a cause vars
Salesforce Create a record user
Salesforce Run a Flow user dev
Salesforce Update a record user
SmartRecruiters Create a candidate vars
SmartRecruiters Create a candidate and assign to job vars
SmartRecruiters Provide feedback for a candidate vars
Smartsheet Add a row to a Smartsheet user dev
Snyk Ignore an issue user
SurveyMonkey Copy a survey user
SurveyMonkey Copy a survey from a template user
Travis CI Cancel build vars
Travis CI Restart build vars
Travis CI Trigger build vars
Twilio Send SMS vars
Typeform Create a workspace user dev
Typeform Duplicate an existing form user dev
Typeform Get a form user dev
Typeform Get form insights user dev
Webex Create a meeting user
Workast Create a task user dev
Wrike Comment on a folder user dev
Wrike Comment on a task user dev
Wrike Create a folder user dev
Wrike Create a task user dev
Wrike Update a task user dev
Zendesk Add tags user dev vars
Zendesk Create a ticket user dev vars
Zendesk Remove tags user dev vars
Zendesk Update a ticket user dev vars
Zoom Create a meeting user

Authentication

Connectors use either OAuth or workspace environment variables to handle authentication.

Most connectors rely on one of two OAuth strategies: End-user and Developer. These connectors reply on an access token input parameter that you as a developer configure while adding the connector as a step in a workflow.

End-user authentication

The first authentication strategy is called END_USER. This strategy is supported by most connectors.

// An example access token property for a Salesforce connector:
salesforce_access_token: {
    credential_source: "END_USER"
}

When a connector's access token credential source is set to END_USER, the auth token of the user who started the workflow will be used in the connector step.

In cases like this, when a user starts a workflow from a shortcut link, the user will be prompted to connect their third-party service account via an OAuth flow. All of this— except for when they are sent to a browser to complete the authentication flow—happens inside their Slack client.

You do not need to do anything else besides set the credential_source to END_USER to configure end-user authentication for a connector.

Developer authentication

The second authentication strategy is DEVELOPER. This strategy is not supported by all connectors.

// An example access token property for a Salesforce connector:
salesforce_access_token: {
    credential_source: "DEVELOPER"
}

When a connector's access token credential source is set to DEVELOPER, the auth token that an app collaborator configured as part of a CLI-initiated OAuth flow before deploying the app will be used.

In cases like this, when a user starts a workflow from a shortcut link, the user is not prompted to connect any third-party service account. Instead, the connector step will run using the auth token configured by one of the app's collaborators.

In addition to setting the credential_source to DEVELOPER, you'll also need to define an OAuth2 provider and then configure external authentication for your app. You can do this by following the steps in the External auth guide.

Workspace environment variable authentication

Connectors that rely on workspace environment variables to handle authentication will require workspace admins to set these up before the connector can be used in a workflow.

Admins can set workspace environment variables for connectors that require them from within Workflow Builder, in the Manage Integrations section.

To open the Manage Integrations section, open Workflow Builder and access the additional options menu to the right of the Create Workflow button.

Building your own connectors

Creating your own connectors opens many more interoperability possibilities. We're not quite ready to enable developers to build their own connectors, but we'd love to hear from you if you're interested and patient.

In the meantime, we recommend building custom functions that call APIs with external authentication.