Setting Up a Slack REST Connection Manager

The REST Connection Manager is an SSIS connection manager that can be used to establish connections and facilitate data integration with REST based APIs and services such as Slack, among many more.

Integration for Slack is enabled by the following two components:

To add a new connection, right-click the Connection Manager area in your Visual Studio project, and choose "New Connection..." from the context menu. You will be prompted the "Add SSIS Connection Manager" window. Select the "REST (KingswaySoft)" item to add a new REST Connection Manager.

New SSIS Connection

Add SSIS REST Connection Manager

The REST Connection Manager contains 2 pages of configuration.

  • General
  • Advanced Settings

General Page

The General page allows you to specify connection properties and login credentials for the Slack REST service:

SSIS REST Slack Connection Manager

Service Name

The REST service that will be connected to.

API Throttle Rate

The API Throttling Rate will limit the number of requests that can be sent per second.

Slack Authentication

This option allows you to specify your application when working with the Slack REST service App.

SSIS REST Slack Connection Manager

  • App Provided by KingswaySoft: use the Client Id and Secret that is provided by KingswaySoft for your convenience when setting up the connection, it should NEVER be used for production purposes.
  • My Own: specify your own application registration with Slack
    • Client Id
    • Client Secret
    • RedirectUrl

Warning: The KingswaySoft OAuth App is provided for your convenience when setting up the connection, and it should NEVER be used for production purposes. We would recommend you create your own app to connect to your instance, in which case you have better control of the access and also the token generated. Please follow the instructions at the link below to create your own application registration with Slack: https://api.slack.com/slack-apps

Scopes

The Scopes parameter indicates which parts of the Slack user's account you'd like your app to be able to access.

Team ID

The Slack team ID of a workspace to attempt to restrict to.

Sign in using the default web browser (Only available with OAuth Authorization Code authentication):

When this option is checked the Generate Token File button will open your default web browser in order to complete the OAuth authentication.

When this option is unchecked, the Generate Token File button will complete the entire OAuth authentication process inside of the toolkit.

Generate Token File
This button allows you to log in to the service endpoint and authorize your app to generate a token.
Access Token

If you have an Access Token that you would like to use, enter it in the access token field. If you do not have a Slack access token you can generate one by clicking the Generate Token button.

Test Connection

After all the connection information has been provided, you may click the "Test Connection" button to test if the user credentials entered can connect to the selected REST service.

Advanced Settings Page

REST Connection Manager - Advanced

Proxy Mode

The Proxy Mode option allows you to specify how you want to configure the proxy server setting. There are three options available.

  • No Proxy
  • Auto-detect (Using system-configured proxy)
  • Manual
Proxy Server

Using the Proxy Server option allows you to specify the name of the proxy server for the connection.

Port

The Port option allows you to specify the port number of the proxy server for the connection.

Username (Proxy Server Authentication)

The Username option (under Proxy Server Authentication) allows you to specify the proxy user account.

Password (Proxy Server Authentication)

The Password option (under Proxy Server Authentication) allows you to specify the proxy user's password.

Note: The Proxy Password is not included in the connection manager's ConnectionString property by default. This is by design for security reasons. However, you can include it in your ConnectionString if you want to parameterize your connection manager. The format would be ProxyPassword=myProxyPassword; (make sure you have a semicolon as the last character). It can be anywhere in the ConnectionString.

Timeout

The number of seconds requests should wait before timing out.

Retry on Intermittent Errors

The retry on intermittent errors option determines if requests will be retried when there is an error. If this option is checked, requests will be retried up to 3 times.

Ignore Certificate Errors

This option can be used to ignore those SSL certificate errors when connecting to Slack servers.

Warning: Enabling the "Ignore Certificate Errors" option is generally NOT recommended, particularly for production instances. Unless there is a strong reason to believe the connection is secure - such as the network communication is only happening in an internal infrastructure, this option should be unchecked for best security.