slack block kit

@_platform-references/org-variables.md

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "slack block kit" with this command: npx skills add sixtysecondsapp/use60/sixtysecondsapp-use60-slack-block-kit

Available Context

@_platform-references/org-variables.md

Slack Block Kit for Sales Workflows

Build rich, interactive Slack messages using our typed Block Kit abstraction layer. Every sales notification, coaching digest, deal alert, and approval request flows through this system.

Architecture

Adapter/Skill → build{Type}Message(data) → SlackMessage { blocks, text } ↓ send-slack-message edge function ↓ Slack Web API (chat.postMessage) ↓ slack-interactive (button clicks)

Key file: supabase/functions/_shared/slackBlocks.ts (3000+ lines, 33+ builders) Delivery: supabase/functions/send-slack-message/index.ts

Interactions: supabase/functions/slack-interactive/

Primitive Block Builders

All builders auto-truncate to Slack limits. See references/block-types-and-limits.md for full constraints.

Function Purpose Auto-truncation

header(text)

Title/alert 150 chars

section(text)

Markdown content 2800 chars

sectionWithFields(fields)

Key-value grid (2-col) 10 fields max

sectionWithButton(text, btn, actionId, value, style?)

Section + accessory button

sectionWithImage(text, url, alt)

Section + image

context(elements)

Metadata/footer 10 elements, 1900 chars

actions(buttons)

Action buttons 5 max (recommend 3)

divider()

Horizontal rule

Message Builders (33+ types)

Each builder takes a typed Data interface and returns SlackMessage { blocks, text } .

Core Sales Messages

Builder Interface Use Case

buildMeetingPrepMessage

MeetingPrepData

Pre-meeting briefing with attendees, deal, talking points, risks

buildMeetingDebriefMessage

MeetingDebriefData

Post-call summary with sentiment, talk time, action items

buildDailyDigestMessage

DailyDigestData

Morning standup with meetings, tasks, insights

buildCoachingMicroFeedbackMessage

CoachingMicroFeedbackData

Per-meeting coaching: scores, insights, recommendations

buildWeeklyCoachingDigestMessage

WeeklyCoachingDigestData

Weekly coaching: trends, patterns, challenge

Deal Lifecycle

Builder Interface Use Case

buildDealRoomMessage

DealRoomData

Deal room creation

buildDealStageChangeMessage

DealStageChangeData

Pipeline movement

buildDealActivityMessage

DealActivityData

Activity logged

buildDealWonMessage

DealWonData

Win celebration

buildDealLostMessage

DealLostData

Loss notification + lessons

buildWinProbabilityChangeMessage

WinProbabilityChangeData

AI health shift

buildDealSnapshotMessage

DealSnapshotData

Deal health card

buildDealMomentumMessage

DealMomentumData

Velocity/momentum trends

HITL (Human-in-the-Loop)

Builder Interface Use Case

buildHITLApprovalMessage

HITLApprovalData

Approve/reject/edit for email drafts, follow-ups, proposals

buildHITLConfirmationMessage

HITLConfirmationData

Checkbox confirmation

buildHITLEditRequestMessage

HITLEditRequestData

Suggest edits

buildHITLActionedConfirmation

HITLActionedConfirmation

Action completed

Intelligence & Alerts

Builder Interface Use Case

buildMorningBriefMessage

MorningBriefData

Morning briefing

buildStaleDealAlertMessage

StaleDealAlertData

Stale deal warning

buildEmailReplyAlertMessage

EmailReplyAlertData

Email response alert

buildAccountSignalAlert

AccountSignalAlertData

Account signal

buildAccountIntelligenceDigest

AccountDigestData

Weekly account digest

Delivery via send-slack-message

The send-slack-message edge function accepts message_type

  • data and routes to the appropriate builder:

// From an orchestrator adapter: await fetch(${supabaseUrl}/functions/v1/send-slack-message, { method: 'POST', headers: { 'Authorization': Bearer ${serviceKey}, 'Content-Type': 'application/json', }, body: JSON.stringify({ org_id: state.event.org_id, user_id: state.event.user_id, message_type: 'coaching_digest', // routes to builder data: { /* matches WeeklyCoachingDigestData */ }, }), });

Supported message_type values: meeting_briefing , coaching_digest , campaign_report

For message types not yet wired, call the builder directly and pass blocks to the function.

Design Principles

See references/sales-message-patterns.md for complete pattern library and references/visual-techniques.md for score displays and progress bars.

  • Lead with impact — Most important number or insight first

  • Max 3 buttons — 1 primary (green), 1-2 secondary (gray)

  • Fields for KPIs — Use sectionWithFields for metric grids

  • Context at bottom — Timestamps, attribution, metadata

  • Always set fallback text — Screen readers and notifications use text

  • Truncate before building — Use safeMrkdwn() , safeHeaderText() helpers

  • Dividers sparingly — Only between distinct content groups

  • Under 10 blocks for routine messages, up to 20 for weekly digests

Quality Check

Before delivering any Slack message:

  • Top-level text field populated (accessibility + notifications)

  • Header under 150 chars

  • Section text under 3000 chars

  • Max 3 buttons per actions block, 1 primary

  • No value

  • url on the same button (URL buttons for external links)
  • action_id follows convention: {domain}{action}{entityId}

  • Emoji used for quick visual scanning, not as sole indicators

  • Renders well on mobile (fields stack vertically)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

copilot proposal

No summary provided by upstream source.

Repository SourceNeeds Review
General

daily focus planner

No summary provided by upstream source.

Repository SourceNeeds Review
General

apify results query

No summary provided by upstream source.

Repository SourceNeeds Review