Marketing intelligence, in the channel where decisions actually get made.
Connect oddly to Slack and your team sees wasted ad spend, inventory drift, and content gaps the moment they appear. Approve fixes in one tap, without leaving the channel.
What posts to your channel
Three message types, each Block-Kit formatted with action buttons. You pick the channel during install.
Action alerts
Card-by-card alerts when oddly finds money at risk: keywords burning spend, products with active ads but low stock, content gaps on top product pages. Approve, snooze, or dismiss without opening the dashboard.
Weekly digest
Every Monday at 09:00 in your timezone: this week's pulse score, top three actions taken, top three opportunities still open, and a one-line trend on revenue, ad spend, and ROAS.
Connection alerts
If a token expires or an integration breaks, oddly posts a fix-it card with a one-click reconnect link. No silent failures, no surprise blank dashboards.
What it looks like
A real action card from a Shopify + Google Ads brand. Block Kit; native Slack interactions; click counts as your audit trail.
Connect in 30 seconds
Install once. Pick a channel. Done.
- 1Sign in to your oddly dashboard.Open
/dashboard/integrations. - 2Click "Add to Slack".You'll be sent through Slack's standard install flow.
- 3Pick the channel.Choose where alerts and digests should post. Most teams pick
#growth,#marketing, or a dedicated#oddlychannel. - 4That's it.Within 24 hours your first action cards arrive. Approve them right from the channel.
What permissions oddly asks for
Standard Slack bot scopes. We do not read message history. We post to the channel you pick and act on the buttons your team clicks.
| Scope | What it lets us do |
|---|---|
chat:write | Post action cards, digests, and connection alerts to the channel you select. |
chat:write.public | Post in public channels we haven't been invited to (so you can pick any channel without inviting the bot first). |
channels:read / groups:read | Show the list of channels for the channel picker during install. |
commands | Enable the /oddly slash command for ad-hoc queries (status, last digest, mute). |
users:read | Resolve the user who clicks an action button so we attribute the approval correctly in the audit log. |
FAQ
Does oddly read our Slack messages?
No. We never request channels:history or im:history. We post messages and react to button clicks; that's the entire integration surface.
Can we pause Slack alerts without disconnecting?
Yes. From the dashboard you can mute Slack delivery while keeping the integration installed, or use /oddly mute 24h directly in the channel.
Which plans include Slack?
Slack is included on every plan, including Watch (free). Action approvals require Nudge or Steer because that's where the underlying actions are gated.
What happens if we uninstall the Slack app?
The bot stops posting immediately. Your dashboard, action queue, and historical audit trail are unaffected. Re-install any time to resume.
Is this listed in the Slack App Directory?
Submission is in flight. The install link on this page uses our standard OAuth flow regardless of Directory status.
Get oddly in your channel today.
Free to try. 14-day Steer trial. Connect in 30 seconds. No credit card.
Start free