This automations page is moving! We've been working hard at building out our tools documentation at tools.slack.dev — the new home of our Deno Slack SDK and Slack CLI docs! You can start using the new docs today, but we'll keep the content on both sites up to date during the transition.

Create an incident

Connector functions are a new addition to Slack automations. We recommend understanding the systems and APIs you're integrating with before setup.

Facts

Create an incident

Schema: Connectors.Servicenow.functions.CreateIncident
Service: ServiceNow

Workspace setup

Before adding this connector to a workflow, the following workspace environment variables need to be configured by a workspace admin:

  • SERVICENOW_DOMAIN
  • SERVICENOW_CLIENT_ID
  • SERVICENOW_CLIENT_SECRET

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.

Input parameters

Required parameters
Servicenow Credential to use
Enter text
Select caller ID
Optional parameters
Select an field

Output parameters

Required parameters
Incident ID
Incident URL
Incident number
Time when step started
Time when step completed

Authentication

A connector's access token property specifies how the connector handles authentication.

End-user authentication

user Workflows that include a connector function relying on end-user authentication can can only be started with a link trigger.

servicenow_access_token: {
    credential_source: "END_USER"
}

End-user experience: User will be prompted to link their external account via OAuth when they first start the workflow that contains this connector.

Developer experience: Developer does not have to implement authentication in app.

How to use

First, import Connectors from deno-slack-hub into your project's import_map.json file, like this:

{
  "imports": {
    "deno-slack-hub/": "https://deno.land/x/deno_slack_hub@2.2.0/",
    "deno-slack-sdk/": "https://deno.land/x/deno_slack_sdk@2.14.2/",
    "deno-slack-api/": "https://deno.land/x/deno_slack_api@2.8.0/",
  }
}

Next, import Connectors at the top of your workflow's definition file:

// my_workflow_file.ts
import { Connectors } from "deno-slack-hub/mod.ts";

Finally, add the connector as a step in your workflow just like you would a built-in Slack function.

SomeWorkflow.addStep(
  Connectors.Servicenow.functions.CreateIncident, {
  //...

🧙🏼 Your admin may need to approve the connector first. If your workspace has been configured to only allow admin-approved apps, the CLI will prompt you to send an admin approval request the first time you try to use a connector that hasn't been approved by an admin yet. While waiting for admin approval, the CLI may report an error like this:

Workflow function... is referring to an unknown step output parameter...

You can safely ignore this error; it will go away as soon as your workspace admin approves your request to use the connector.