Connect your Slack workspace
You set up the Slack connection once per organization. Every workflow in the org then sends alerts through it.- Open Connectors from the user menu under your avatar.
- Find the Slack row and click Connect.
- Approve the anyformat app in Slack’s consent screen.
- Slack returns you to the same page, with Slack showing as Connected.
Who can connect: organization admins only. Non-admins see a note asking them to reach out to an admin instead of the Connect button.
Private channels are not supported in the current release. The channel picker lists public channels only. For alerts in a private space, ask an admin to open a matching public channel, or contact support.
Add a Slack Alert node
In Studio, add a Slack Alert node one of two ways:- Drag Alerts → Slack Alert from the sidebar onto the canvas.
- Or click the + chip on an upstream Extract, Validate, or If/Else handle and pick Slack Alert.
Channel
Pick from the dropdown of your public channels. anyformat joins the channel the first time it posts there. No manual invite is needed.Message template
Compose the message with the built-in editor. Click the picker to drop a field chip into the template:<missing: …> marker in that spot.
Validation chips. With a Validate node upstream, drop a rule-outcome chip too. For a rule whose id is amt_positive:
- Each rule exposes three attributes to insert:
status,detail,severity. statuslands in Slack as one ofpass,fail, orinconclusive.
Severity
The severity sets the color bar on the Slack card:Preview and test
- The Preview panel shows the message with each chip replaced by the field name in brackets, such as
[vendor_name]. Check the layout there before you save. If a chip cannot resolve, because its field was renamed or deleted, the preview shows<missing: …>in that spot. - Click Send test to post a rendered
[Test]-prefixed message to the selected channel. It is the fastest way to confirm the bot has access and the layout looks right. Test messages do not count against your alert budget.
How alerts are delivered
- Order of operations. The alert fires after the upstream node (Extract, If/Else, or Validate) produces its result for the document.
- Open document button. Every alert carries an Open document button. It opens the file in Studio at the exact workflow version the alert fired against, so recipients land on the schema the alert was built with.
- Missing values are visible. If a chip’s field or validation rule produced no value for a document, the delivered alert shows
<missing: …>in that spot rather than dropping it silently. You see the broken template and fix it. - Per-organization rate limits. anyformat caps deliveries at 60 per minute and 500 per hour across the whole org, to protect your Slack workspace from a runaway workflow. Alerts over the cap are dropped for that window. They are not queued and not retried.
Managing the connection
Open Connectors → Slack → ⋯ from the user menu for these controls:- Change account installs anyformat into a different Slack workspace. anyformat discards the credentials for the old workspace, but the app stays installed in that workspace until you remove it there. To clean it up fully, open Slack’s Apps → anyformat → Remove app in the old workspace.
- Disconnect stops all Slack Alert deliveries and asks Slack to uninstall the app from your workspace. anyformat disconnects immediately. If Slack rejects the uninstall, remove the app by hand from Slack’s app directory. That rejection is rare, and usually means a network hiccup or an already-invalid token. Your Slack Alert nodes are not deleted. They pause until you reconnect.
Uninstalling from Slack directly, through Slack’s own Apps → anyformat → Remove app, does not notify anyformat. Deliveries start failing on the next attempt, but Studio still shows the integration as connected until you click Disconnect here. Prefer Disconnect. It flips both sides at once.
Troubleshooting
“Slack isn’t connected” appears when I open the node. Nobody has connected Slack for your organization yet. If you are an admin, click Connect Slack. It runs the same flow as Connect your Slack workspace. If you are not an admin, ask one to set it up. The channel picker won’t load or says “Slack workspace unreachable”. Slack rejected the request. The usual causes are a revoked token, a rate limit, or a transient outage on Slack’s side. Try again in a minute. If it persists, disconnect and reconnect from Connectors. Message arrives with${field.…} shown literally.
Somebody typed the chip by hand, with characters the substitution cannot parse. Delete the raw text and re-insert the chip from the picker.
Message arrives with <missing: …> where a value should be.
Three causes. The referenced field was renamed or deleted, so re-insert the chip from the picker. Or the field was not extracted from this document. Or the referenced validation rule did not run for this document.
The alert didn’t fire at all.
Slack Alert fires only when the upstream node produces a result for the document. Behind an If/Else, check that the branch condition was true for this input.
Deliveries stopped mid-run.
You may have hit the rate limit of 60 per minute or 500 per hour. Wait for the next window. Scope the alert with an If/Else so it fires only on the cases worth paging for.
