The moment it happens
Plan a trip itinerary from a Telegram message
Tell your bot where and when you are going and get a day-by-day plan built from real places and events happening during your stay.
- Runs
- The moment it happens
- Apps
- SerpApi, Telegram
- AI
- Yes, uses the built-in AI allowance
- Access
- SerpApi key; bot token
Send this to your assistant
Create a ClickRuntime automation: when I message my Telegram bot a destination and dates, search places and events there with SerpApi and reply with a day-by-day itinerary.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small events agency sends staff to trade shows in different cities every month. Each trip involves the same research: which restaurants are near the venue, what is on in the evenings, what is worth seeing in a spare afternoon. Generic travel guides are out of date, and AI chat tools without search suggest places that have closed.
With this bot, staff message the city and dates, such as "Lisbon 14-16 May". It searches Google Maps for well-rated places and Google Events for what is happening on those dates, then AI turns the results into a day-by-day plan with names and areas that actually exist.
What you get out of it
Plans based on real, open places
Places come from current Google Maps results with ratings. That avoids the frustration of walking to a restaurant that closed last year.
Events on your actual dates
Concerts, exhibitions and markets happening during your stay are included. Those are often the best part of a trip and the hardest to find in advance.
Minutes instead of an evening of research
A usable plan arrives in the chat almost straight away. It is a good starting point to adjust, rather than a blank page.
Easy to share
The itinerary is plain text in Telegram, so it can be forwarded to colleagues or travel companions in a tap.
How it works
What happens, step by step
When you message your Telegram bot a destination and dates, ClickRuntime searches Google Maps for highly rated places to see and eat there.
It also searches Google Events for things happening in that city.
AI builds a day-by-day itinerary from those results, matching your dates and any interests you mentioned.
The plan is sent back to you in the same Telegram chat.
Before it runs live
- Connect SerpApi
- Connect Telegram
- Paste your automation's link into the other app's webhook settings
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
- 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 SerpApi and Telegram steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, ai
@on_event
def handle(event):
msg = (event.json or {}).get("message") or {}
request = msg.get("text", "").strip()
if not request:
return {"ignored": True}
city = request.split()[0]
key = credentials.secret("SERPAPI_API_KEY")
places = []
for q in (f"things to do in {city}", f"best restaurants in {city}"):
res = http.get("https://serpapi.com/search", params={"engine": "google_maps", "q": q, "api_key": key}).json()
places += [f"{p['title']} ({p.get('type', '')}, {p.get('rating', '?')}*)" for p in res.get("local_results", [])[:10]]
events = http.get("https://serpapi.com/search", params={"engine": "google_events", "q": f"events in {city}", "api_key": key}).json().get("events_results", [])
event_lines = [f"{e['title']} - {e.get('date', {}).get('when', '')}" for e in events[:10]]
plan = ai.generate(f"Request: {request}\nPlaces:\n" + "\n".join(places) + "\nEvents:\n" + "\n".join(event_lines),
system="Write a day-by-day itinerary (morning, afternoon, evening) using only these places and events on matching dates.", max_output_tokens=900).text
http.post(f"https://api.telegram.org/bot{credentials.secret('TELEGRAM_BOT_TOKEN')}/sendMessage", json={"chat_id": msg["chat"]["id"], "text": plan})
return {"places": len(places), "events": len(event_lines)}FAQ
Common questions
What should I send the bot?
Does it book anything?
How detailed is the plan?
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
Send a topic to Telegram and get researched social posts
Message your bot a topic and get back a LinkedIn post and a post for X, written from what is being said about it on the web right now.
See how it worksAsk a Telegram bot and get answers with sources
Ask your bot any question and get a short answer based on live Google results, with the links it used.
See how it worksA Telegram assistant that searches the web when it needs to
Chat with your own assistant on Telegram that remembers the conversation and looks things up online when a question needs current information.
See how it worksKeep exploring
Set up “Plan a trip itinerary from a Telegram message” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
