Skip to main content

prefect_slack.credentials

Credential classes use to store Slack credentials.

Classes

SlackCredentials

Block holding Slack credentials for use in tasks and flows. Args:
  • token: Bot user OAuth token for the Slack app used to perform actions.
Examples: Load stored Slack credentials:
from prefect_slack import SlackCredentials
slack_credentials_block = SlackCredentials.load("BLOCK_NAME")
Get a Slack client:
from prefect_slack import SlackCredentials
slack_credentials_block = SlackCredentials.load("BLOCK_NAME")
client = slack_credentials_block.get_client()
Methods:

get_client

get_client(self) -> AsyncWebClient
Returns an authenticated AsyncWebClient to interact with the Slack API.

SlackWebhook

Block holding a Slack webhook for use in tasks and flows. Args:
  • url: Slack webhook URL which can be used to send messages (e.g. https\://hooks.slack.com/XXX).
Examples: Load stored Slack webhook:
from prefect_slack import SlackWebhook
slack_webhook_block = SlackWebhook.load("BLOCK_NAME")
Get a Slack webhook client:
from prefect_slack import SlackWebhook
slack_webhook_block = SlackWebhook.load("BLOCK_NAME")
client = slack_webhook_block.get_client()
Send a notification in Slack:
from prefect_slack import SlackWebhook
slack_webhook_block = SlackWebhook.load("BLOCK_NAME")
slack_webhook_block.notify("Hello, world!")
Methods:

get_client

get_client(self, sync_client: bool = False) -> Union[AsyncWebhookClient, WebhookClient]
Returns an authenticated AsyncWebhookClient to interact with the configured Slack webhook.

notify

notify(self, body: str, subject: Optional[str] = None)
Sends a message to the Slack channel.

notify_async

notify_async(self, body: str, subject: Optional[str] = None)
Sends a message to the Slack channel asynchronously.