Daily
Post trending topics to LinkedIn and log them in a sheet
Trending topics in your field become LinkedIn posts, and every post is logged in your sheet with its link.
- Runs
- Daily
- Apps
- Google Sheets, LinkedIn
- AI
- Yes, uses the built-in AI allowance
- Access
- LinkedIn w_member_social (or w_organization_social); Sheets edit
Send this to your assistant
Create a ClickRuntime automation: every weekday at 9, pick the top trending topic from my industry feeds, write a LinkedIn post about it, publish it, log it in my Posts sheet 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 cybersecurity consultant wants to be seen commenting on the week's news on LinkedIn, but by the time they've read the story and written something thoughtful, everyone else has posted.
Each weekday the top story from their chosen feeds becomes a LinkedIn post with a point of view, published early. Every post is logged in a sheet, so they can see what topics get engagement and what they've already covered.
What you get out of it
Early to the conversation
Posts go out while the story is still fresh.
A log of everything posted
The sheet records topics, text and links for later review.
No repeated topics
Stories already covered are skipped.
Builds a reputation
Regular, timely commentary makes you a familiar voice in your field.
How it works
What happens, step by step
Every weekday morning, ClickRuntime reads your chosen news feeds.
It skips stories you've already posted about, and AI writes a LinkedIn post on the top new one.
The post is published to LinkedIn.
A row is added to your sheet with the date, topic and post link, and you get an email.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- Connect LinkedIn
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
- 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 Google Sheets and LinkedIn steps into one automation
Under the hood
The code that runs this automation
from datetime import date
import feedparser
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai, notify
AUTHOR, SHEET_ID = "urn:li:person:abc123", "your-spreadsheet-id"
@on_trigger
def run(event):
sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
done = {r[1] for r in sheets.spreadsheets().values().get(spreadsheetId=SHEET_ID, range="Posts!A2:B").execute().get("values", []) if len(r) > 1}
story = next((e for e in feedparser.parse("https://feeds.example.org/security.rss").entries if e.title not in done), None)
if not story:
return {"posted": False}
text = ai.generate(f"LinkedIn post with a clear point of view for a security consultant on: {story.title}. Include the link {story.link}.",
max_output_tokens=400).text.strip()
r = http.post("https://api.linkedin.com/rest/posts",
headers={"Authorization": f"Bearer {credentials.connection('linkedin', 'work')}", "LinkedIn-Version": "202409"},
json={"author": AUTHOR, "commentary": text, "visibility": "PUBLIC", "lifecycleState": "PUBLISHED",
"distribution": {"feedDistribution": "MAIN_FEED"}})
url = f"https://www.linkedin.com/feed/update/{r.headers.get('x-restli-id')}"
sheets.spreadsheets().values().append(spreadsheetId=SHEET_ID, range="Posts!A:C", valueInputOption="USER_ENTERED",
body={"values": [[date.today().isoformat(), story.title, url]]}).execute()
notify.email_me(f"Posted on LinkedIn: {story.title}", url)
return {"posted": url}FAQ
Common questions
Where do topics come from?
Can it post to my other networks too?
Can I set my point of view?
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
Turn ideas in a sheet into approved LinkedIn posts
Each day the next idea in your sheet is written up, sent to you for approval, then published and marked done with its link.
See how it worksDraft LinkedIn posts inspired by high-performing ones you collect
Posts you save to a sheet because they did well are studied, and new drafts in your own voice are added to the sheet, with one published each week.
See how it worksShare new articles on LinkedIn, tracked in a sheet
Each new article from your blog or a news feed becomes a LinkedIn post, and your sheet makes sure nothing is posted twice.
See how it worksKeep exploring
Set up “Post trending topics to LinkedIn and log them in a sheet” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.