Skip to content

The moment it happens

Classify developer questions into Notion and Airtable

Each question or error report sent to your trigger link is classified, written up as a Notion page, tracked as an Airtable record, and flagged in Slack when severe.

Runs
The moment it happens
Apps
Airtable, Notion
AI
Yes, uses the built-in AI allowance
Access
write on both

Send this to your assistant

Create a ClickRuntime automation: give me a trigger link. For each question or error report posted to it, classify it, create a Notion page and an Airtable record, and alert #dev in Slack when it is high severity.

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 developer tools company gets questions and error reports from its docs site, its support widget and an in-app feedback form. They land in different inboxes with no common format. Nobody can say how many reports were about the API this month, and a serious bug can sit unread behind a dozen how-to questions.

This automation gives all those sources one link to post to. Each item is classified by AI with a category, severity and summary, written up as a Notion page for the knowledge base, and logged as an Airtable record for tracking. High-severity reports are flagged in Slack straight away.

What you get out of it

  • Serious bugs surface fast

    High-severity reports are posted in Slack the moment they arrive. They do not wait behind routine questions in a queue.

  • One format for every source

    Whatever the source, each item gets the same category, severity and summary. Reports can be sorted and compared across channels.

  • Documentation grows from real questions

    Each Notion page is a starting point for a help article. Questions people actually ask become the docs other people find.

  • Numbers for planning

    The Airtable records show which areas generate the most questions and errors. That helps decide where to improve docs or fix code first.

How it works

What happens, step by step

  1. When a question or error report is sent to your trigger link, ClickRuntime receives it straight away.

  2. AI decides its category and severity and writes a one-line summary.

  3. A Notion page is created with the full text and the classification.

  4. A matching record is added to your Airtable tracker, and high-severity items are posted to #dev in Slack.

Before it runs live

  • Connect Airtable
  • Connect Notion and share the database you want it to use
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Classify developer questions into Notion and Airtablejust nowSucceeded
Slack · #dev🚨 High severity api report: Acme Corp gets 500 errors on every webhook since this morning's release.

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

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Airtable and Notion 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.
classify_incoming_items_into_notion_docs_and_an_airtable_tracker.pyexample
from clickruntime import on_event, credentials, http, state, ai, notify

NOTION_DB, AIRTABLE_BASE, AIRTABLE_TABLE = "your-notion-database-id", "appXXXXXXXXXXXXXX", "Issues"
SCHEMA = {"type": "object", "properties": {"category": {"enum": ["api", "billing", "auth", "docs", "other"]},
          "severity": {"enum": ["low", "medium", "high"]}, "summary": {"type": "string"}}, "required": ["category", "severity", "summary"]}

@on_event
def handle(event):
    if state.get(f"done:{event.event_id}"):
        return {"skipped": "duplicate"}
    text = str((event.json or {}).get("text") or event.body)[:4000]
    try:
        c = ai.generate(text, system="Classify this developer question or error report.", json_schema=SCHEMA, max_output_tokens=120).json
    except ai.AIError:
        c = {"category": "other", "severity": "medium", "summary": text[:120]}
    http.post("https://api.notion.com/v1/pages", headers={"Authorization": f"Bearer {credentials.connection('notion', 'work')}", "Notion-Version": "2022-06-28"}, json={"parent": {"database_id": NOTION_DB},
              "properties": {"Name": {"title": [{"text": {"content": c["summary"][:200]}}]}, "Category": {"select": {"name": c["category"]}}, "Severity": {"select": {"name": c["severity"]}}},
              "children": [{"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": text[:1900]}}]}}]}).raise_for_status()
    http.post(f"https://api.airtable.com/v0/{AIRTABLE_BASE}/{AIRTABLE_TABLE}", headers={"Authorization": f"Bearer {credentials.secret('AIRTABLE_TOKEN')}"},
              json={"fields": {"Summary": c["summary"], "Category": c["category"], "Severity": c["severity"]}}).raise_for_status()
    if c["severity"] == "high":
        notify.slack(f"🚨 High severity {c['category']} report: {c['summary']}", channel="#dev")
    state.set(f"done:{event.event_id}", True)
    return {"category": c["category"], "severity": c["severity"]}

FAQ

Common questions

What can send items to the link?
Any form, widget or service that can send a web request, such as a feedback form, a support tool or your own app.
Which categories are used?
A short list you choose, for example API, billing, authentication, docs and other. Fewer, clearer categories classify more consistently.
Can a person change the classification later?
Yes. Category and severity are ordinary fields in Notion and Airtable, so anyone can correct them.
What permissions does it need?
write on both. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run for each event the app sends.
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 “Classify developer questions into Notion and Airtable” from your assistant

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