Slack API Connection

The Slack connection type enables Slack API Integrations.

Authenticating to Slack

Authenticate to Slack using a Slack API token.

Default Connection ID

The default Slack API Connection ID is slack_api_default.

Configuring the Connection

Password

Specify the Slack API token.

Extra (optional)

Specify the extra parameters (as json dictionary) that can be used in slack_sdk.WebClient. All parameters are optional.

  • timeout: The maximum number of seconds the client will wait to connect and receive a response from Slack API.

  • base_url: A string representing the Slack API base URL.

  • proxy: Proxy to make the Slack API call.

If you are configuring the connection via a URI, ensure that all components of the URI are URL-encoded.

Examples

Set Slack API Connection as Environment Variable (URI)
export AIRFLOW_CONN_SLACK_API_DEFAULT='slack://:xoxb-1234567890123-09876543210987-AbCdEfGhIjKlMnOpQrStUvWx@/?timeout=42'
Snippet for create Connection as URI:
from airflow.models.connection import Connection

conn = Connection(
    conn_id="slack_api_default",
    conn_type="slack",
    password="xoxb-1234567890123-09876543210987-AbCdEfGhIjKlMnOpQrStUvWx",
    extra={
        # Specify extra parameters here
        "timeout": "42",
    },
)

# Generate Environment Variable Name
env_key = f"AIRFLOW_CONN_{conn.conn_id.upper()}"

print(f"{env_key}='{conn.get_uri()}'")
# AIRFLOW_CONN_SLACK_API_DEFAULT='slack://:xoxb-1234567890123-09876543210987-AbCdEfGhIjKlMnOpQrStUvWx@/?timeout=42'

Was this entry helpful?