Slack
Connect a Slack workspace to RevenueHog and route App Store reviews, in-app feedback, purchases, churn, milestones and TestFlight activity to channels.
The Slack integration posts RevenueHog activity to Slack channels. It is set up once per RevenueHog workspace, under Settings on the web, and is free: it does not need the Alerts subscription or a registered phone.
RevenueHog only writes messages. It never reads your Slack history.
Connect Slack
Start the connection
On the web, open Settings and find the Slack card. Click Connect Slack.
Approve in Slack
Choose the Slack workspace and approve. RevenueHog asks for chat:write, chat:write.public, channels:read and groups:read.
Add a routing rule
Back in RevenueHog the card shows Slack is connected. Add a routing rule below to start posting. Nothing posts until you add a rule.
If you cancel in Slack you see Slack connection was cancelled. You can try again any time. If the exchange fails you see Slack connection failed. Start the connect flow again.
Routing rules
A rule sends one kind of event to one channel, for all apps or one app.
| Event | Label | What posts |
|---|---|---|
review | App Store reviews | Every new written review, with its star rating. |
feedback | In-app feedback | Bug reports, ideas, questions and praise from the SDK. |
BUY | New purchases | First-time subscriptions and one-time buys. |
CHURN | Churn | Cancellations and lapsed subscriptions. |
MILESTONE | Milestones | MRR milestones. |
TFLT | TestFlight | Beta feedback and build-state changes. |
digest | Daily digest | One post a day with yesterday's revenue, events and MRR, at 09:00 in the timezone of the person who installed Slack (UTC if they have no notification settings). Per-app routes are ignored: the digest is a workspace total. |
To add a rule, pick an Event, type a Channel (for example #reviews; the # is added if you leave it off), choose All apps or one app, and click Add rule. With an empty table the card suggests two starters under Quick add: reviews to #reviews and feedback to #product-feedback. A suggestion only fills the form.
Each rule has an on/off switch and Remove. Several rules matching one event to the same channel post once.
Rules can also carry filters through the API: a minimum star rating (1 to 5) for reviews, a minimum amount for events, and feedback kinds for feedback. Test feedback sent with an rh_test_ key is never posted.
Slack rules are independent of your push rules: quiet hours, the minimum amount and per-app mutes do not affect Slack.
Daily digest
A route for Daily digest posts one message a day to its channel:
Yesterday's haul
$412.88 in sales yesterday, 9 events and $16,284 MRR.
Daily digest · America/New_York [Open RevenueHog]- It covers the previous full day in the installer's timezone, using the same numbers as the push daily digest.
- It goes out on the first digest run (at :03 or :33 past the hour) at or after 09:00 local time, then not again for 20 hours. If 09:00 is missed, it posts later the same day.
- The day is claimed before posting, so a channel that fails loses that day's post instead of double-posting to the others.
- Unlike the push digest, it does not need the RevenueHog Alerts subscription.
Feedback buttons
In-app feedback messages carry Mark triaged, Close and View in RevenueHog buttons. Pressing a status button updates the feedback in RevenueHog and the message shows Marked triaged by @name. Buttons only act if the Slack workspace that sent them is the one connected to that RevenueHog workspace. See Feedback.
Connection states
| Badge | Meaning |
|---|---|
| connected | Posting normally. |
| error | The last post failed. The card shows Last Slack post failed: and the reason. |
| disconnected | The token was revoked. The card offers Reconnect Slack. |
Disconnect, then Confirm disconnect, removes the workspace and all of its routing rules. Nothing posts until you connect again.
Self-hosting
If the server lacks SLACK_CLIENT_ID, the card reads Slack is not set up. It needs SLACK_CLIENT_ID, SLACK_CLIENT_SECRET and SLACK_SIGNING_SECRET.
API errors
/api/settings/slack returns unknown event, missing channel, invalid app, unknown app, connect Slack first, or not found, each with a 400 or 404 status.
Related
Last updated on
MRR milestones
How RevenueHog detects MRR milestones on the 1, 2.5 and 5 ladder, when the milestone push fires, why it is sent only once per threshold, and how to turn it off.
Webhooks
The RevenueHog Webhooks page: per-app status for Apple server notifications, forwarding to your own URLs, delivery failures, suspension and one-click wiring.