Skip to content

Weekly Executive Briefing

Build an agent that pulls data from Stripe, PostgreSQL, and Slack every Monday morning, compiles a polished executive briefing, and posts it to your leadership channel.

The Business Problem

Your finance team spends 3-4 hours every Monday assembling an executive briefing. The data lives in three places:

  • Stripe — revenue numbers, subscription status, and payment data
  • PostgreSQL database — pipeline metrics, deal tracking, and historical trends
  • Slack — team updates scattered across channels

By the time the briefing reaches leadership, it's already outdated. You need a reliable, automated process that runs before anyone arrives on Monday.

What You'll Build

ComponentDetails
AgentExecutive Analyst
Workflow4-step weekly briefing workflow
Guidelines3 rules for tone, formatting, and anomaly detection
ConnectionsStripe, PostgreSQL, Slack
OutputFormatted briefing artifact + Slack post

Step 1: Set Up Connections

Before building the agent, connect your data sources. Go to Connections in the sidebar and add the following:

Stripe

  1. Click Add Connection and select Stripe.
  2. Enter your Stripe Secret Key.
  3. Click Connect and verify the status shows "Connected."

PostgreSQL

  1. Click Add Connection and select PostgreSQL.
  2. Enter your database connection string (e.g., postgresql://user:pass@host:5432/db).
  3. Click Test Connection to confirm access, then Connect.

Slack

  1. Click Add Connection and select Slack.
  2. Click Connect and authorize Pencel via OAuth.
  3. Confirm the connection shows the channels you need (at minimum, #leadership).

TIP

Test each connection individually before building the workflow. A failed connection mid-run means the entire briefing stalls.

Step 2: Create the Agent

Go to Agents in the sidebar and click New Agent.

FieldValue
NameExecutive Analyst
DescriptionCompiles weekly executive briefings from cross-platform data
Preferred ModelClaude (default)
Risk ToleranceMedium

For the agent's Role Instructions, use:

You are an executive analyst for the finance team. You write clear, formal briefings that help leadership make decisions quickly. You always lead with the most important numbers and flag anything unusual.

INFO

Claude is the best model choice here because executive briefings require nuanced writing and the ability to synthesize information from multiple sources into a coherent narrative.

Step 3: Add Guidelines

Go to Guidelines in the sidebar and create three guidelines. Assign each one to the Executive Analyst agent.

Guideline 1: Formal Tone

FieldValue
NameUse formal tone for executive communications
ContentAll executive-facing documents must use formal, professional language. Avoid contractions, slang, and casual phrasing. Use active voice. Address the audience as "the leadership team" or "executive stakeholders."
ActivationAlways active

Guideline 2: Financial Rounding

FieldValue
NameRound all financial figures to nearest thousand
ContentWhen presenting financial data, round all dollar amounts to the nearest thousand. Use "K" notation for thousands and "M" for millions. Example: $1,234,567 becomes $1.235M. Always include the currency symbol.
ActivationAlways active

Guideline 3: Anomaly Detection

FieldValue
NameFlag metrics deviating more than 10% from last week
ContentCompare every key metric to the previous week's value. If any metric has changed by more than 10% in either direction, flag it with a bold warning label and a brief explanation of possible causes.
ActivationAlways active

Step 4: Build the Workflow

Go to Workflows in the sidebar and click New Workflow.

FieldValue
NameWeekly Executive Briefing
DescriptionGathers data from Stripe, PostgreSQL, and Slack, then compiles and distributes an executive briefing
Default AgentExecutive Analyst
ScheduleEvery Monday at 8:00 AM

Step 1: Gather Stripe Revenue Data

FieldValue
TypeAction
InstructionsPull this week's revenue data from Stripe. Get total charges (successful), refund total, net revenue, subscription counts by status (active, past due, canceled), and any new subscriptions started in the last 7 days. Summarize the revenue health.
Auto-ApproveYes

Step 2: Query Pipeline Database

FieldValue
TypeAction
InstructionsQuery the pipeline database for this week's key metrics: total pipeline value, number of deals by stage (Prospecting, Negotiation, Closed Won, Closed Lost), deals that changed stage in the last 7 days, new customer count, and churn count. Also pull last week's numbers for comparison.
Auto-ApproveYes

Step 3: Scan Slack for Highlights

FieldValue
TypeAction
InstructionsSearch Slack channels #sales, #product, and #customer-success for significant updates from the past 7 days. Look for deal wins, product launches, customer issues, and team announcements. Summarize the top 5-7 highlights.
Auto-ApproveYes

Step 4: Compile and Distribute Briefing

FieldValue
TypeAction
InstructionsCompile all gathered data into a structured executive briefing with these sections: (1) Key Metrics Summary with week-over-week comparison, (2) Revenue Update from Stripe, (3) Pipeline Deep Dive, (4) Team Highlights from Slack, (5) Items Requiring Attention. Save the full briefing as an artifact. Then post a condensed summary (3-5 bullet points) to the #leadership Slack channel.
Auto-ApproveNo

WARNING

Step 4 has Auto-Approve turned off. This means you'll need to review the compiled briefing before it posts to Slack. This is intentional — you want a human eye on anything going to the executive team.

Step 5: Run and Review

You can either wait for the Monday 8 AM schedule or trigger the workflow manually:

  1. Open the workflow and click Run.
  2. Watch progress on the Jobs page (/jobs).
  3. Steps 1-3 execute automatically. Step 4 pauses for your approval.
  4. Review the compiled briefing in the step details.
  5. Click Approve to post to Slack, or Reject to make changes.

Expected Output

The workflow creates two outputs:

Artifact: "Weekly Executive Briefing — [Date]"

A structured document with sections for metrics, revenue, pipeline, highlights, and action items. All financial figures are rounded per the guideline. Any 10%+ deviations are flagged.

Slack Post to #leadership

A condensed 3-5 bullet summary linking to the full briefing. Example:

Weekly Briefing — March 3, 2026

  • Revenue MTD: $2.4M (up 12% WoW) ⚠️ Above threshold
  • Pipeline: $8.7M across 43 active deals
  • 3 deals moved to Closed Won ($340K total)
  • Product team shipped v2.3 — see #product for details
  • Action needed: Enterprise renewal at risk (Acme Corp)

Monitoring Costs

This workflow uses Claude for all four steps. Check the run's cost view on the Jobs page after each run to see the token usage. A typical run uses approximately:

  • Steps 1-3 (data gathering): ~2,000 tokens each
  • Step 4 (compilation): ~4,000 tokens

TIP

If cost is a concern, you can switch Steps 1-3 to use Gemini 2.5 Flash (a less expensive model) since they're primarily data retrieval tasks. Keep Step 4 on Claude for the best writing quality.

Troubleshooting

ProblemSolution
Stripe connection errorsCheck your API key. If using a test key, you only see test mode data. Switch to a live key for production data.
Revenue query returns empty resultsVerify the database connection string and table names in the PostgreSQL connection settings.
Slack search finds nothingMake sure the Slack connection has access to the channels listed in the instructions.
Briefing tone isn't formal enoughStrengthen the tone guideline with specific examples of acceptable vs. unacceptable phrasing.