Per-project Slack settings: notification routing, feature flags, and the Nth-reply filter.
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.
All interactive features — thread-reply triage, approval reactions,
agent operations — require the Slack app. A pure webhook integration
receives notifications only.
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.
Each canvas surface and the proactive alert are flagged off by default.
Toggle from Settings → Slack canvases + daily summary.
Flag
What it does
settingsMirrorEnabled
Maintains the Overview canvas in the bound channel — agent docs plus a live mirror of campaign settings. Rewritten on every Settings save.
dailyStatsEnabled
Maintains the Daily Summary canvas — one section per day with sent/replied/failed counts, refreshed every 30 min, finalized at the EOD time. Posts an EOD notification to the channel.
eodSummaryTime
When the daily summary flips to Final and posts the EOD notification. Defaults to 17:00.
eodSummaryTimezone
IANA timezone for eodSummaryTime. Defaults to America/Los_Angeles.
lowLeadsAlertEnabled
Once-per-day proactive alert in the channel when the untouched-lead pool drops below the configured daily auto-dial pull.
deepSourcingEnabled
Enables the open_deep_sourcing_ticket agent tool and the Lead Lists canvas approval log.
Turning on dailyStatsEnabled or lowLeadsAlertEnabled causes Chert
to post unprompted in the bound channel. Confirm with your team
before enabling.
The Daily Summary cron ticks every 30 minutes. Behavior at each tick:
Condition
Action
First tick of a calendar day
Insert a new H2 at the top of the canvas with rolling counts.
Subsequent ticks before EOD
Replace today’s H2 with refreshed counts.
Tick at or after eodSummaryTime
Replace today’s H2 with Final, append the stats table, today’s replies, and a one-line “Tomorrow’s angle”. Post a notification in the channel with a permalink to the canvas.
The EOD body is inserted exactly once per day; subsequent ticks no-op
on the body block.
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.