Slack webhook integration
Route audit findings, calculation completions, and approval decisions to a Slack channel via a Slack incoming webhook.
Slack webhook integration
Send LandedFees events (audit findings, calculation completions, approval decisions) into a Slack channel via a Slack incoming webhook. The integration is one-way, LandedFees to Slack, so no scopes have to be granted on Slack beyond the incoming webhook URL.
Slack webhook URLs are workspace secrets. LandedFees never logs the URL and never surfaces it in error messages.
How to set up the Slack webhook
- In Slack, create an incoming webhook: Apps > Manage > Custom Integrations > Incoming WebHooks. Pick the channel you want notifications in. Copy the webhook URL (looks like
https://hooks.slack.com/services/T.../B.../...). - In LandedFees, open /integrations.
- Click New integration and choose Slack.
- Paste the webhook URL.
- Choose the events to subscribe to:
finding.created,entry.ingested,approval.decided. Multi-select is supported. - Save. The integration lands in your integrations list with a test-send button.
- Click Test send. A test message appears in the Slack channel within seconds.
Slack returns 200 with body ok on a successful post. Errors surface with the Slack error string; the most common is no_service (webhook was revoked in Slack) or invalid_payload (which our engine will never produce).
Payload shape
Every notification is a Slack-formatted message with a headline, a link back to the LandedFees resource, and a short summary. Findings include the dollar impact and the amendment lane. Approval decisions include the decider and the decision (approve or reject).
Rich formatting uses Slack's Block Kit. No file attachments are sent.
Frequently asked questions
Can I route different events to different channels
Yes. Create one Slack integration per channel, each with its own webhook URL and event subscription set.
What happens if Slack is unreachable
The delivery loop retries with exponential backoff. Persistent failures surface as an alert in the integrations list.
Is the webhook URL logged anywhere
No. The URL is stored encrypted in the database and never logged. Rotation is a one-click flow from the integrations page.
Which tiers include Slack
All paid tiers. Free tier does not include outbound integrations.
Related
Integrations
Zapier integration
Route LandedFees events into any of the 6,000+ apps Zapier supports via a Zapier catch webhook.
Integrations
Generic outbound webhook
POST LandedFees events to any HTTPS endpoint you control. Includes optional HMAC signing so you can verify origin at receipt.
Integrations
API keys: create, rotate, revoke
Create API keys for the /v1 endpoints. Admin role is required (LFQG-152). Keys are shown once at creation; rotate or revoke from the dashboard.
Still stuck
Paid tiers can open a ticket from the in-app support inbox. Free users can email operator support at info@growyourbrand.io.
Open a ticket