Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.useterse.ai/llms.txt

Use this file to discover all available pages before exploring further.

Automate pipeline review prep with a weekly summary posted to Slack.

Start from a project scaffold

terse init acme-revenue
cd acme-revenue
terse integrate
terse generate

What it does

  1. Runs every Monday at 9am.
  2. Reads open pipeline from Attio.
  3. Summarizes movement, risk, and next actions.
  4. Posts the digest to Slack.

Core workflow

import { createJob, CronTrigger, TerseAgent } from "terse-sdk"

import { Attio, AttioList, Schedule, Slack, SlackChannel } from "./terse.generated"

createJob({
    name: "weekly-pipeline-digest",
    triggers: [Schedule.cron({ expression: "0 9 * * 1" })],
    onTrigger: async (event: CronTrigger) => {
        const agent = TerseAgent.create({
            prompt: "You write the weekly pipeline digest for revenue leaders. Call out movement, risk, and recommended next actions.",
            skills: [Attio.skill({ lists: [AttioList.Pipeline.OpenDeals] }), Slack.skill({ channel: SlackChannel.RevenueTeam })]
        })

        const digest = await agent.runAndWait(
            [
                `Summarize open pipeline for ${event.window.label}.`,
                `Window start: ${event.window.startsAt}`,
                `Window end: ${event.window.endsAt}`,
                "Call out risk and recommend next actions."
            ].join("\n")
        )

        await agent.tools.slack.sendMessage({
            channelId: SlackChannel.RevenueTeam.channelId,
            message: digest
        })
    }
})

Customize

  • Change the cron expression for your reporting cadence.
  • Split by segment if your team reviews enterprise and SMB separately.
  • Post to a thread if you want replies to stay contained.