The moment it happens
Turn a topic into a researched LinkedIn post
Send a topic to your trigger link and a LinkedIn post built from fresh Google results is published on your profile, with the link emailed to you.
- Runs
- The moment it happens
- Apps
- LinkedIn, SerpApi
- AI
- Yes, uses the built-in AI allowance
- Access
- SerpApi key; LinkedIn w_member_social
Send this to your assistant
Create a ClickRuntime automation: when I send a topic to this link, search Google with SerpApi, write a LinkedIn post using the top results, publish it on my profile and email me the link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A recruiter specialising in engineering roles wants to post on LinkedIn about hiring trends a few times a week, because candidates and clients both notice who is visible. They spot good topics constantly, but writing a post that says something specific means first reading up on the latest figures, and that is the step that never fits into the day.
This automation does the reading and writing in one go. They send a topic to the trigger link from a phone shortcut or by asking their AI assistant, it searches Google through SerpApi, AI writes a post grounded in the top results, and it goes out on their LinkedIn profile. An email with the link follows so they can check it and reply to comments.
What you get out of it
Stay visible without the writing time
Regular posts keep you in front of clients and candidates. Going from topic to published post in one step makes a steady rhythm realistic.
Posts with substance
Each post draws on current search results, so it can cite a recent figure or announcement. That makes it more worth reading than a general opinion.
Post from anywhere
A topic can be sent from a phone shortcut, a bookmark or your AI assistant. A good idea on the move becomes a post before it is forgotten.
A record of what went out
The confirmation email includes the post text and link. You can keep an eye on comments and correct anything quickly if needed.
How it works
What happens, step by step
When a topic arrives at the automation's trigger link, ClickRuntime searches Google for it through SerpApi.
It gathers the titles and snippets of the top results.
AI writes a LinkedIn post from those results in your style, using only facts it found.
The post is published on your LinkedIn profile, and you get an email with the text and a link to it.
Before it runs live
- Connect LinkedIn
- Connect SerpApi
- 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 LinkedIn and SerpApi steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http, ai, notify
STYLE = "Practical, first person, short paragraphs, no hashtags."
def post_to_linkedin(text):
token = credentials.connection("linkedin", "work")
me = http.get("https://api.linkedin.com/v2/userinfo", headers={"Authorization": f"Bearer {token}"}).json()["sub"]
r = http.post("https://api.linkedin.com/rest/posts", headers={"Authorization": f"Bearer {token}", "LinkedIn-Version": "202409", "X-Restli-Protocol-Version": "2.0.0"},
json={"author": f"urn:li:person:{me}", "commentary": text, "visibility": "PUBLIC", "lifecycleState": "PUBLISHED",
"distribution": {"feedDistribution": "MAIN_FEED", "targetEntities": [], "thirdPartyDistributionChannels": []}})
r.raise_for_status()
return r.headers.get("x-restli-id", "")
@on_event
def handle(event):
topic = ((event.json or {}).get("topic") or "").strip()
if not topic:
return {"error": "no topic"}
results = http.get("https://serpapi.com/search", params={"engine": "google", "q": topic, "api_key": credentials.secret("SERPAPI_API_KEY")}).json().get("organic_results", [])[:6]
facts = "\n".join(f"- {r['title']}: {r.get('snippet', '')}" for r in results)
text = ai.generate(f"Topic: {topic}\nResults:\n{facts}\nWrite a LinkedIn post under 200 words.", system=f"{STYLE} Use only facts from the results.", max_output_tokens=400).text.strip()
post_id = post_to_linkedin(text)
notify.email_me(f"Posted on LinkedIn: {topic}", f"{text}\n\nhttps://www.linkedin.com/feed/update/{post_id}")
return {"post": post_id}FAQ
Common questions
Can I review the post before it goes out?
How do I send it a topic?
Will the post sound like me?
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
Post about the day's news in your niche on LinkedIn
Each day the best new article on your topic becomes a LinkedIn post with your take and the link, and the same article is never posted twice.
See how it worksPost one researched LinkedIn post a day from your topic list
Keep a list of topics and each weekday the next one is researched and published as a LinkedIn post, working down the list in order.
See how it worksGet error alerts with a plain-English explanation
When one of your jobs or systems fails, #ops gets the error and a one-line guess at the cause, without the same error twice in an hour.
See how it worksKeep exploring
Set up “Turn a topic into a researched LinkedIn post” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
