Integration

Lamina + Slack

Deliver run results into a Slack channel or thread with previews, brand-fit scores, and one-click approval buttons.

The Lamina + Slack integration delivers run results into a Slack channel or thread with previews, brand-fit scores, and quick-action buttons. lamina.distribute posts via the Slack Web API so creative reviews happen where the team already works — approve, retry, or reject without leaving the channel.

What you can do

  • Post run results to a channel or thread with image previews
  • Render brand-fit scores and reasons inline in the message
  • Approve / Retry / Reject buttons trigger Lamina actions on click
  • Route low-scoring runs to a creative-review channel automatically
  • Notify on long-running jobs so a stalled run doesn't go quiet

Setup

  1. 1

    Install the Lamina Slack app

    From slack.com/apps, install the Lamina app into your workspace. OAuth requests chat:write, files:write, channels:read.

  2. 2

    Bind a channel to a brand kit (optional)

    In Lamina dashboard → Integrations → Slack, map a channel to a brand kit so reviews land in the right team space.

  3. 3

    Distribute a run to Slack

    Call lamina.distribute with target { kind: 'slack', channel, threadTs?, includeActions: true }.

Example

slack-distribute.ts

await lamina.distribute(shoot.assets, {
  targets: [{
    kind: "slack",
    channel: "#creative-review",
    includeActions: true,        // Approve / Retry / Reject
    showBrandScore: true,
    fallbackText: `Homestead SS26 hero — 4 variants, top score ${shoot.topScore.toFixed(2)}`,
  }],
});

How it works

Lamina posts to Slack via chat.postMessage and uploads previews via files.upload. Each post includes an interactive block with Approve / Retry / Reject buttons — the buttons hit Lamina's webhook and apply the corresponding action (publish, re-run with bumped seed, or archive). Reviewers never need a Lamina account to participate.

When to use it

Use this integration when creative review is a team activity and you want it to happen in the same channels people are already in. Pairs naturally with the n8n or Shopify integrations: branch on brand-fit score, auto-publish high scorers, and route the rest to Slack for human approval.