Skip to content

Weekly

Post a weekly Airtable pipeline report in Slack

Every Monday your sales channel gets deal counts and values by stage, totalled from your Airtable base.

Runs
Weekly
Apps
Airtable, Slack
AI
Not needed
Access
Airtable read; Slack chat:write

Send this to your assistant

Create a ClickRuntime automation: every Monday, total my Airtable deals by stage and post a pipeline report to #sales.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A small sales team tracks deals in Airtable. On Monday mornings the founder wants to know how much is in each stage, and someone builds the numbers by filtering views and adding up columns, then types them into Slack. Some weeks it happens, some weeks it does not.

This automation reads the deals table each Monday, totals count and value by stage, and posts the summary in your sales channel, so the week starts with the same numbers in front of everyone.

What you get out of it

  • A shared starting point for the week

    Everyone sees the same pipeline figures before the Monday meeting, so the discussion is about what to do, not what the numbers are.

  • Trends become visible

    A weekly post builds a running history in the channel. Scrolling back shows whether the proposal stage is growing or quietly emptying.

  • No one has to remember

    The report goes out whether the person who usually builds it is busy, ill or on holiday.

  • Airtable stays the record

    Reps keep updating deals where they already work. The report reads from it, so there is no second spreadsheet to maintain.

How it works

What happens, step by step

  1. Every Monday morning ClickRuntime reads the deals in your Airtable table.

  2. It adds up the number of deals and their total value for each stage.

  3. A short report with one line per stage is posted in your #sales Slack channel.

Before it runs live

  • Connect Airtable
  • Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)

What you get

RunsWeekly
Post a weekly Airtable pipeline report in Slacktoday, 9:00Succeeded
Slack · #salesWeekly pipeline · Qualified: 14 deals, $86,000 · Proposal: 6 deals, $54,500 · Negotiation: 3 deals, $41,000

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Run it at a different time, more or less often, or only on weekdays
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Google Sheets
  • Combine it with other Airtable and Slack steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
weekly_airtable_pipeline_report_in_slack.pyexample
from collections import defaultdict
from clickruntime import on_trigger, credentials, http, notify

BASE_ID = "appXXXXXXXXXXXXXX"
TABLE = "Deals"

@on_trigger
def run(event):
    headers = {"Authorization": f"Bearer {credentials.secret('AIRTABLE_API_KEY')}"}
    totals, offset = defaultdict(lambda: [0, 0.0]), None
    while True:
        params = {"fields[]": ["Stage", "Amount"], **({"offset": offset} if offset else {})}
        page = http.get(f"https://api.airtable.com/v0/{BASE_ID}/{TABLE}", headers=headers, params=params).json()
        for rec in page.get("records", []):
            stage = rec["fields"].get("Stage", "No stage")
            totals[stage][0] += 1
            totals[stage][1] += float(rec["fields"].get("Amount") or 0)
        offset = page.get("offset")
        if not offset:
            break
    lines = [f"• {stage}: {n} deals, ${v:,.0f}" for stage, (n, v) in sorted(totals.items())]
    notify.slack("Weekly pipeline\n" + "\n".join(lines), channel="#sales")
    return {"stages": len(lines)}

FAQ

Common questions

Which fields does it use?
A stage field and an amount field on your deals table. You name them when you set it up, and other fields are ignored.
Can it leave out closed deals?
Yes. Closed won and closed lost stages can be excluded, or shown separately as this week's results.
Can I report by owner or category instead of stage?
Yes. Any single-select or text field can be used for grouping, such as owner, region or product category.
What permissions does it need?
Airtable read; Slack chat:write. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Post a weekly Airtable pipeline report in Slack” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.