Every 15 minutes
Create a Notion onboarding page when an Airtable lead is won
When a lead is marked Won in your Airtable Clients table, an onboarding page with your checklist is created in Notion and linked back to the record.
- Runs
- Every 15 minutes
- Apps
- Airtable, Notion
- AI
- Not needed
- Access
- Airtable read+write; Notion insert
Send this to your assistant
Create a ClickRuntime automation: check my Airtable Clients table for records marked Won and create a Notion onboarding page from my template for each one. Write the Notion link back to Airtable and email me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small consultancy tracks its sales pipeline in Airtable and runs client projects in Notion. When a deal is won, someone has to create the onboarding page, copy over the contact details and remember the kickoff checklist. When that slips, a new client waits a week for a welcome they should have had on day one.
This automation connects the two. Every 15 minutes it looks for Airtable records newly marked Won, creates a Notion onboarding page with your checklist and the client's details, writes the page link back into Airtable and sends you an email.
What you get out of it
A fast start for every new client
The onboarding page exists minutes after the deal is marked won. Kickoff can be scheduled the same day.
Sales and delivery stay in step
The Notion link sits on the Airtable record. Sales can see that onboarding has started, and delivery has the client details without asking.
The same checklist every time
Every new client gets your full onboarding checklist. Steps such as the welcome call or access setup are not forgotten.
Each client handled once
Records are marked when their page is created. A record that is edited later does not create a second page.
How it works
What happens, step by step
Every 15 minutes, ClickRuntime checks your Airtable Clients table for records marked Won that do not have a Notion link yet.
For each one, it creates a page in your Notion database with the client's details and your onboarding checklist.
The new page's link is written back to the Airtable record, so the client is not picked up again.
You get an email listing the new onboarding pages.
Before it runs live
- Connect Airtable
- Connect Notion and share the database you want it to use
What you get
Build your own
Need it to work differently?
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
- Add an AI step, for example to summarize, sort or draft a reply
- 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
from clickruntime import on_trigger, credentials, http, notify, report_fetched
BASE, TABLE, NOTION_DB = "your-airtable-base-id", "Clients", "your-notion-database-id"
CHECKLIST = ["Send welcome email", "Book kickoff call", "Collect access and logins", "Share project plan"]
@on_trigger
def run(event):
at = {"Authorization": f"Bearer {credentials.secret('AIRTABLE_TOKEN')}"}
url = f"https://api.airtable.com/v0/{BASE}/{TABLE}"
records = http.get(url, headers=at, params={"filterByFormula": "AND({Status}='Won', {Notion URL}='')"}).json()["records"]
report_fetched(len(records))
if not records:
return {"new": 0}
n = {"Authorization": f"Bearer {credentials.connection('notion', 'work')}", "Notion-Version": "2022-06-28"}
made = []
for r in records:
f = r["fields"]
todos = [{"object": "block", "type": "to_do", "to_do": {"rich_text": [{"text": {"content": t}}]}} for t in CHECKLIST]
info = {"object": "block", "type": "paragraph", "paragraph": {"rich_text": [{"text": {"content": f"Contact: {f.get('Contact', '')} {f.get('Email', '')}"}}]}}
page = http.post("https://api.notion.com/v1/pages", headers=n, json={"parent": {"database_id": NOTION_DB},
"properties": {"Name": {"title": [{"text": {"content": f.get("Name", "New client")}}]}}, "children": [info] + todos}).json()
http.patch(f"{url}/{r['id']}", headers=at, json={"fields": {"Notion URL": page["url"]}})
made.append(f"{f.get('Name', '')}: {page['url']}")
notify.email_me(f"{len(made)} new onboarding page(s)", "\n".join(made))
return {"created": len(made)}FAQ
Common questions
What does the Airtable table need?
How is the checklist added?
Where in Notion is the page created?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Log calls or sales to both Airtable and Notion
Each time your call tool or store sends a record, it is added as a row in Airtable and a page in Notion with the same details.
See how it worksCompare stock counts in Notion with Airtable every day
Each morning you get an email listing items where Notion and Airtable disagree and items that need reordering.
See how it worksClassify 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.
See how it worksKeep exploring
Set up “Create a Notion onboarding page when an Airtable lead is won” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.