Skip to main content
Every Slack surface in Chert is per-project and opt-in. Defaults are conservative — enabling the Slack app on a new channel does not retroactively turn on canvases, daily summaries, or low-leads alerts.

Before You Begin

  • Chert Notifications is installed (see Install).
  • A channel is bound to your project from Settings.

Notification routing

Reply notifications can fan out across email, Slack, and a generic HTTPS webhook. Configure on the Settings page under Reply notifications.

slack vs webhook vs both

All interactive features — thread-reply triage, approval reactions, agent operations — require the Slack app. A pure webhook integration receives notifications only.

The Nth-reply filter

minInboundRepliesToNotify gates notifications on how many inbound replies the lead has sent. With minInboundRepliesToNotify = 2, the first inbound is logged silently; the second triggers a notification. Useful for filtering one-word brush-offs. The filter is evaluated before any channel fires. When a reply is suppressed by the filter, Chert does not stamp the reply_email_sent_at marker, so a subsequent inbound from the same lead re-evaluates the threshold.

Per-project feature flags

Each canvas surface and the proactive alert are flagged off by default. Toggle from Settings → Slack canvases + daily summary.
Turning on dailyStatsEnabled or lowLeadsAlertEnabled causes Chert to post unprompted in the bound channel. Confirm with your team before enabling.

EOD summary timing

The Daily Summary cron ticks every 30 minutes. Behavior at each tick: The EOD body is inserted exactly once per day; subsequent ticks no-op on the body block.

Switching the bound channel

Re-pick a channel from Settings. The bot token stays the same; the binding changes. Existing canvases tied to the old channel remain in that channel — they are not migrated. Future writes go to the new channel and create fresh canvases there.

See Also

Notifications

Card anatomy and thread-reply triage.