Every 15 minutes
Save new YouTube comments to Airtable
New top-level comments on your YouTube channel are added to an Airtable table every 15 minutes with the video, author, text, likes and a link.
- Runs
- Every 15 minutes
- Apps
- Airtable, YouTube
- AI
- Not needed
- Access
- YouTube API key; Airtable data.records:write
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, add new comments on my YouTube channel to my Comments table in Airtable with video title, author, comment text, like count and a link to the comment.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Comments are where viewers ask for the next video, report a mistake or say they would pay for something. YouTube Studio shows them as a feed that is fine for replying and poor for keeping track.
This copies each new comment on your channel into an Airtable table, where you can sort, tag and assign them like any other request. The link opens the comment directly on the video.
It suits creators with a small team or an editor, and companies whose YouTube channel draws product questions that someone needs to answer.
What you get out of it
Comments become a work list
With a Status field in Airtable, the team can see which questions have been answered and which are still open. Nothing depends on remembering a scroll position in Studio.
Find video ideas in the data
Grouping by video or filtering for words like 'tutorial' or 'how' shows what viewers keep asking for. That list is a ready source of next topics.
Share without channel access
Editors, support staff or a sponsor can view the Airtable base without being added to your YouTube channel.
Likes show what matters
The like count is saved with each comment, so a question with 40 likes rises to the top of a sorted view.
Read-only API key
The automation uses a YouTube API key that can only read public data. It cannot reply, delete or change anything on your channel.
How it works
What happens, step by step
Every 15 minutes ClickRuntime asks YouTube for the latest comments across all videos on your channel.
It skips comments it has already saved.
Each new comment becomes a row in your Airtable table with the video, author, text, likes and a direct link.
Your team can then add a status, an owner or a reply note in Airtable.
Before it runs live
- Connect Airtable
- Connect YouTube
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 YouTube steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, report_fetched
CHANNEL_ID = "UCxxxxxxxxxxxxxxxxxxxxxx"
AT = "https://api.airtable.com/v0/appXXXXXXXXXXXXXX/Comments"
@on_trigger
def run(event):
r = http.get("https://www.googleapis.com/youtube/v3/commentThreads", params={
"part": "snippet", "allThreadsRelatedToChannelId": CHANNEL_ID, "order": "time",
"maxResults": 100, "textFormat": "plainText", "key": credentials.secret("YOUTUBE_API_KEY")})
r.raise_for_status()
seen = state.get("seen") or []
new = [t for t in r.json().get("items", []) if t["id"] not in seen]
report_fetched(len(new))
if not new:
return {"saved": 0}
ids = list({t["snippet"]["videoId"] for t in new})
vids = http.get("https://www.googleapis.com/youtube/v3/videos", params={
"part": "snippet", "id": ",".join(ids[:50]), "key": credentials.secret("YOUTUBE_API_KEY")}).json()["items"]
titles = {v["id"]: v["snippet"]["title"] for v in vids}
rows = []
for t in reversed(new):
c = t["snippet"]["topLevelComment"]["snippet"]
vid = t["snippet"]["videoId"]
rows.append({"fields": {"Video": titles.get(vid, vid), "Author": c["authorDisplayName"], "Comment": c["textDisplay"],
"Likes": c["likeCount"], "Posted": c["publishedAt"], "Status": "New",
"Link": f"https://www.youtube.com/watch?v={vid}&lc={t['id']}"}})
headers = {"Authorization": f"Bearer {credentials.connection('airtable', 'work')}"}
for i in range(0, len(rows), 10):
http.post(AT, headers=headers, json={"records": rows[i:i + 10], "typecast": True}).raise_for_status()
state.set("seen", (seen + [t["id"] for t in new])[-3000:])
return {"saved": len(rows)}FAQ
Common questions
Does it save replies to comments too?
Do I need to connect my YouTube account?
What Airtable fields does it expect?
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
Add AI chapters to your new YouTube videos
New videos get timestamped chapters added to their description, and each one is logged in Airtable.
See how it worksPublish the next ready video from your Airtable queue
On schedule, the next video marked ready in Airtable is uploaded to YouTube and its record is updated with the link.
See how it worksTrack competitor YouTube channel stats in Airtable
Every Monday, each YouTube channel listed in an Airtable table gets a new row with subscribers, total views, video count and growth since last week.
See how it worksKeep exploring
Set up “Save new YouTube comments to Airtable” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.