Every 6 hours
Collect new job listings in Airtable and post them to Telegram
New remote job listings are saved to Airtable every few hours, and only the new ones are posted to your Telegram channel.
- Runs
- Every 6 hours
- Apps
- Airtable, Telegram
- AI
- Not needed
- Access
- Airtable read+write; bot token (admin of channel)
Send this to your assistant
Create a ClickRuntime automation: every 6 hours, fetch remote developer jobs from RemoteOK, add any new ones to my Airtable 'Jobs' table, and post each new one to my Telegram channel.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Someone running a small Telegram channel for remote developers wants to share fresh openings a few times a day. Checking job boards by hand is tedious, and posting the same listing twice annoys subscribers. They also want a record of everything posted so they can look back at which companies hire most.
Saving each new listing in Airtable and posting only the ones not seen before keeps the channel fresh and free of repeats, and the table builds into a searchable archive of what was shared.
What you get out of it
Fresh posts without the checking
New listings reach your channel every six hours without anyone visiting the board.
No repeats
Each listing's id is checked against Airtable before it is posted, so subscribers never see the same job twice.
An archive that builds itself
Every listing posted is kept in Airtable with company, title, tags and link.
Filter what gets shared
Limit posts to a tag, such as python or design, so the channel stays on topic.
How it works
What happens, step by step
Every 6 hours, ClickRuntime fetches the latest listings from the job board.
It keeps only listings that match your tag.
Each listing is checked against your Airtable Jobs table, and ones already there are skipped.
New listings are added to Airtable and posted to your Telegram channel.
Before it runs live
- Connect Airtable
- Connect Telegram
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
- 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 Slack
- Combine it with other Airtable and Telegram steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http
BASE_ID, CHANNEL, TAG = "appXXXXXXXXXXXXXX", "@remote_dev_jobs", "dev"
@on_trigger
def run(event):
jobs = [j for j in http.get("https://remoteok.com/api", headers={"User-Agent": "clickruntime"}).json()[1:]
if TAG in (j.get("tags") or [])][:50]
api = f"https://api.airtable.com/v0/{BASE_ID}/Jobs"
headers = {"Authorization": f"Bearer {credentials.connection('airtable', 'work')}"}
tg = f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/sendMessage"
posted = 0
for j in jobs:
if posted >= 15:
break
found = http.get(api, headers=headers, params={"filterByFormula": f"{{Job ID}}='{j['id']}'", "maxRecords": 1}).json()["records"]
if found:
continue
http.post(api, headers=headers, json={"typecast": True, "records": [{"fields": {"Job ID": str(j["id"]),
"Company": j.get("company"), "Title": j.get("position"), "Tags": ", ".join(j.get("tags") or []),
"Link": j.get("url")}}]}).raise_for_status()
http.post(tg, json={"chat_id": CHANNEL, "text": f"{j.get('position')} at {j.get('company')}\n{j.get('url')}"})
posted += 1
return {"posted": posted}FAQ
Common questions
Can it use a different job board?
How many posts will the channel get?
Does the bot need to be in the channel?
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
Get a random recipe from Airtable on Telegram each day
Each morning your Telegram gets one random record from Airtable, such as a recipe, quote or tip, without repeats from recent days.
See how it worksDraft social posts into Airtable and approve them on Telegram
New articles from your feeds become draft posts in Airtable, you get them on Telegram, and approved ones are tracked through to posted.
See how it worksLog each sale to Airtable and get a Telegram ping
Every sale from your store is added to Airtable and you get a Telegram message with the product and amount.
See how it worksKeep exploring
Set up “Collect new job listings in Airtable and post them to Telegram” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.