Welcome!

prefect-slack is a collection of prebuilt Prefect tasks that can be used to quickly construct Prefect flows.

Getting started

Prerequisites

A Slack account with permissions to create a Slack app and install it in your workspace.

Installation

The following command will install a version of prefect-slack compatible with your installed version of prefect. If you don’t already have prefect installed, it will install the newest version of prefect as well.

pip install "prefect[slack]"

Upgrade to the latest versions of prefect and prefect-slack:

pip install -U "prefect[slack]"

Slack setup

To use tasks in the package, create a Slack app and install it in your Slack workspace. You can create a Slack app by navigating to the apps page for your Slack account and selecting ‘Create New App’.

For tasks that require a Bot user OAuth token, you can get a token for your app by navigating to your app’s OAuth & Permissions page.

For tasks that require a Webhook URL, you can generate a new Webhook URL by navigating to you apps Incoming Webhooks page.

Slack’s Basic app setup guide provides additional details on setting up a Slack app.

Write and run a flow

from prefect import flow
from prefect.context import get_run_context
from prefect_slack import SlackCredentials
from prefect_slack.messages import send_chat_message


@flow
def example_send_message_flow():
   context = get_run_context()

   # Run other tasks or flows here

   token = "xoxb-your-bot-token-here"
   send_chat_message(
         slack_credentials=SlackCredentials(token),
         channel="#prefect",
         text=f"Flow run {context.flow_run.name} completed :tada:"
   )

if __name__ == "__main__":
    example_send_message_flow()

Resources

Refer to the prefect-slack SDK documentation linked in the sidebar to explore all the capabilities of the prefect-slack library.

For further assistance developing with Slack, consult the Slack documentation.