---
description: "Connect Slack to Plandalf to post new purchases, renewals and upsells to a channel, and to get alerts when an automation fails."
---
# Slack setup

Connect your Slack workspace so Plandalf can post to your channels. Your team sees each new purchase, renewal or upsell as it happens, and you can have failed automations reported in Slack as well as by email.

There are two ways to use it. **Slack notifications** is a ready-made recipe: switch on the events you want and pick a channel for each. The **Send Slack Message** step lets you post from any sequence, with your own message.

## Before you start

-   Permission to add apps to your Slack workspace. If your workspace restricts apps, a Slack admin may need to approve Plandalf.
-   The channels you want to post to.

You don’t need an API key. Slack asks you to approve Plandalf in a pop-up window.

## Connect Slack to Plandalf

1.  [Find Slack in the Marketplace](#find-slack-in-marketplace)

    In Plandalf, open **Automation** in the sidebar and choose the **Marketplace** tab. Find **Slack** under **Available now** and click **Connect**.

2.  [Add to Slack](#add-to-slack)

    In the **Connect Slack** window, keep or change the **Integration name** and click **Add to Slack**. A Slack window opens.

3.  [Approve Plandalf](#approve-plandalf-in-slack)

    Check the workspace shown in the top-right corner of the Slack window, then click **Allow**. The window closes and Plandalf shows **Slack connected**.

Plandalf asks Slack for permission to see your public and private channel names and to send messages, including to public channels it hasn’t been added to. It can’t read your messages.

### Posting to a private channel

Plandalf can post to any public channel straight away. For a private channel, add the Plandalf app to the channel first: open the channel in Slack, open its details, go to **Integrations** and add the app. The channel then appears in Plandalf’s channel list.

## Turn on Slack notifications

The quickest setup. Each notification is a small sequence that Plandalf manages for you, so it doesn’t appear in **My Sequences**.

1.  [Open the recipe](#open-slack-recipe)

    Go to **Automation → Templates** and open **Slack notifications** under Recipes. Check the **Slack workspace** is the one you connected.

2.  [Choose events](#choose-slack-events)

    Switch on the events you want:

    -   **New purchase**: a customer completes a checkout.
    -   **Subscription / invoice paid**: any invoice is paid, including renewals.
    -   **Refund / void**: an invoice is voided in Plandalf.
    -   **Upsell accepted**: a customer accepts a post-purchase upsell.

3.  [Pick a channel and save](#pick-slack-channel)

    For each event, pick a **Channel**, edit the **Message** if you like, and click **Save**.

Switching an event off deletes its notification sequence. Plandalf has no refund trigger yet, so a refund made in your payment provider doesn’t post a **Refund / void** message. Only a voided Plandalf invoice does.

## Send Slack Message

Add this step to any sequence to post your own message.

-   **Channel** (required): pick a channel from your workspace.
-   **Message** (required): the text to post. It starts with a purchase summary built from `{{trigger.customer_name}}`, `{{trigger.customer_email}}`, `{{trigger.total_amount}}`, `{{trigger.currency}}` and `{{trigger.line_items_summary}}`. Slack formatting works: `*bold*`, `_italic_`, `` `code` `` and emoji such as `:tada:`.

If Slack refuses a message, the step still finishes, and its output shows `status: failed` with Slack’s error code. Check a step’s output in the sequence’s **Events** view.

## Get failed automations in Slack

Plandalf emails your notification recipients when a sequence run fails. To post the same alerts to Slack:

1.  Go to **Automation → My apps** and open your Slack connection.
2.  Switch on **Post automation failures to Slack** and pick a **Failure alert channel**.
3.  Click **Save Changes**.

Alerts only go out while **Failed automation notifications** is on under **Settings → Notifications**, and at most once every 15 minutes per sequence.

## Example: post every Pro plan sale to #sales

1.  [Create the sequence](#slack-example-create)

    Go to **Automation → My Sequences** and create a sequence called “Pro plan sales to Slack”.

2.  [Set the trigger](#slack-example-trigger)

    Choose **Plandalf** and **Checkout Completed**. Under **Offer**, pick your Pro plan checkout. On **3\. Test**, pick a recent checkout as the sample record.

3.  [Add the message](#slack-example-message)

    Click **Add a step**, choose **Slack** and **Send Slack Message**, and pick your Slack account. Choose `#sales` as the **Channel**. Keep the starting message or write your own, for example: `:tada: {{trigger.customer_first_name}} just bought {{trigger.line_items_summary}}`.

4.  [Test and turn it on](#slack-example-test)

    Run the step’s test. It posts a real message, so tell the channel first. Then turn the sequence **On**.

## Common errors

| What you see | What to do |
| --- | --- |
| The Slack window says Plandalf needs approval | Your workspace restricts apps. Ask a Slack admin to approve Plandalf, then connect again. |
| “Slack returned an error: access\_denied” | **Allow** wasn’t clicked in the Slack window. Connect again and approve. |
| A private channel is missing from the list | Add the Plandalf app to the channel in Slack, then reopen the channel picker. |
| Step output shows `not_in_channel` or `channel_not_found` | The channel is private and the app isn’t in it, or the channel was deleted. Add the app or pick another channel. |
| Step output shows `is_archived` | The channel was archived. Pick another channel. |
| Step output shows `invalid_auth` or `token_revoked` | Plandalf was removed from your workspace. Open the connection in **My apps** and choose **Test Connection**. If it fails, connect Slack again and update your steps to the new connection. |

## Related guides

-   [Automations overview](https://plandalf.com/docs/product-guides/integrations/plandalf)
-   [Plandalf with Slack](https://plandalf.com/platforms/slack)

Source: https://plandalf.com/docs/product-guides/integrations/slack
