# Slack: sign in, approvals, and support

Connect Slack for approval/review digests, act in Slack with UI sync, Sign in with Slack, and support DMs.

Connect your **Slack** workspace to Cortena so assignees get **approval and review** digests (DM and/or channel), can act with the same buttons as in Cortena, and receive **support** replies they can answer from Slack. You can also **Sign in with Slack** on the login page when your workspace allows it.

**Who this is for:** Finance admins connecting Slack once for the company, and AP reviewers/approvers who want invoice decisions in Slack without losing sync with the Cortena UI.

## 1. What Slack does in Cortena

| Capability | What you get |
| --- | --- |
| **Sign in with Slack** | Log in to Cortena with your Slack account (when enabled for the workspace) |
| **Approval / review digests** | Cortena FinOps bot posts waiting invoices to you (DM) and/or a shared channel |
| **Act in Slack** | **Approve** / **Mark reviewed**, optional **Reject** / **Hold**: same rules as the invoice strip in Cortena |
| **Keep UI and Slack in sync** | Acting in Cortena updates the Slack message; acting in Slack updates Cortena (list refreshes without a full reload) |
| **Archive / delete** | Open Slack buttons are closed with a short note when the invoice is archived or deleted |
| **Support** | Cortena Support replies can arrive as Slack DMs; you can reply in the Slack thread |

One Slack workspace install can cover **several Cortena entities (tenants)**. You choose which ones when you connect.

## 2. Connect Slack (Settings)

1. Open **Settings → Integrations → Email → Slack**.
2. Click **Connect** (you need permission to connect accounting/integration tools for that entity).
3. Authorize the **Cortena FinOps** Slack app in your workspace.
4. On the Cortena confirm screen, select which **entities** this Slack workspace should cover.
5. Back in Settings, choose how digests are delivered for **this** entity:

| Setting | Effect |
| --- | --- |
| **Notify by DM** (on by default) | Assignees get a personal message from the bot when their Slack email matches their Cortena user email |
| **Notify in channel** | Posts to the channels you pick, with mentions for assignees (open review can notify the channel) |
| **Support replies by DM** | Public support replies from Cortena can be delivered to the customer in Slack |

Pick **default channels** if you use channel notify: useful for a central finance channel instead of (or as well as) personal DMs.

## 3. Turn on Slack on workflow steps

Connecting Slack is not enough by itself. On each **Review** or **Approval** node that should send digests:

1. Open **Settings → Workflow** (or your workflow editor).
2. Select the **Review** or **Approval** step.
3. In the notification / digest panel, enable **Slack** (you can also keep **Email**).
4. Publish the workflow when ready.

Reminders use the same Slack channel settings as the first notification for that step.

Only **Review** and **Approval** nodes support these digests today.

## 4. Working from a Slack digest

A typical digest shows the entity name, invoice number, supplier, amount, step name, waiting time, and **Open in Cortena**.

Buttons follow the same rules as Cortena:

| Button | When it appears |
| --- | --- |
| **Approve** | Approval steps |
| **Mark reviewed** | Review steps (same underlying complete action as Approve) |
| **Reject** | Only if that workflow step can reject (same as the UI) |
| **Hold** | Only if **Allow hold** is enabled on the step |

Permissions still apply: if you are not allowed to complete the step, Slack returns an error even if you can see the message (for example in a shared channel).

**Reject** may open a short form when a reason is required. **Hold** opens a form for an optional or required comment, depending on the step.

After a successful action, the message keeps the invoice details and replaces the buttons with a status line such as **Approved by @you**, **Reviewed by @you**, **Rejected by @you**, or **Held by @you**.

## 5. Sync with the Cortena app

Slack and Cortena stay aligned for the same invoice and workflow step:

- **Act in Slack** → the invoice advances in Cortena; the list/detail updates over the live connection (no full page reload needed).
- **Act in Cortena** (approve, mark reviewed, reject, or hold) → matching Slack digests for **that step** update to the same status.
- **DM and channel** copies of the same digest both update.
- Later steps do **not** rewrite earlier ones (for example, rejecting on Approval does not change a completed Review message).
- **Archive** or **delete** an invoice → open digests lose their buttons and show that the invoice was archived or deleted.

Duplicate invoices that are not eligible for workflow digests do not keep getting Slack approval pings.

## 6. Sign in with Slack

On the Cortena login screen you may see **Sign in with Slack**. That uses the same Slack app as Integrations, but only for authentication.

Whether Slack login is accepted for a given entity depends on that workspace's [Workspace login requirements](https://help.cortena.ai/guides/get-started/workspace-login-requirements).

Connecting Slack under Integrations is separate: you still need **Connect** for digests and support DMs even if people already sign in with Slack.

## 7. Support in Slack

When support replies by DM are enabled:

1. Cortena Support can send public replies to you in Slack.
2. Reply **in the Slack thread** to add your answer to the same support ticket.
3. You can still use in-app **Support**. See [Create, track, and reply to support tickets](https://help.cortena.ai/guides/support/support-tickets).

You cannot **open a brand-new** support ticket from Slack yet (for example by mentioning the bot). Use Cortena **Support** to create tickets.

## 8. Tips & limitations

- Slack must be available for your entity (contact Cortena if **Settings → Integrations → Email → Slack** is missing).
- Assignees need a Slack user whose email matches their Cortena account for DMs and mentions.
- **Delegate** from Slack is not available yet. Use Cortena for delegation.
- Channel digests are visible to everyone in the channel; only permitted users can successfully complete the step.
- Chat with Cortena as a general AI assistant inside Slack is **not** part of this integration.
- Disconnecting Slack for one entity does not automatically remove the app from the Slack workspace if other entities still use it.

Related: [Workflow configuration](https://help.cortena.ai/guides/workflows/workflow-configuration) · [Put approval or review on hold](https://help.cortena.ai/guides/workflows/put-approval-on-hold) · [Workspace login requirements](https://help.cortena.ai/guides/get-started/workspace-login-requirements)

## Quick reference

| Task | Where |
| --- | --- |
| Connect workspace | **Settings → Integrations → Email → Slack → Connect** |
| Choose entities | Confirm screen after Slack authorize |
| DM / channel modes | Slack card in Settings |
| Enable digests | Workflow **Review** / **Approval** node → notification channels → **Slack** |
| Act on invoice | Slack buttons or Cortena invoice strip |
| Hold / reject rules | Same as workflow step (Reject edge / Allow hold) |
| Sign in | Login page → **Sign in with Slack** |
| Support reply | Slack DM thread (when enabled) |
| Close digests | Archive or delete invoice in Cortena |
