The moment it happens
Post a video to LinkedIn from a link
Send a video URL and caption and the video is posted to your profile, with a confirmation email.
- Runs
- The moment it happens
- Apps
- AI
- Not needed
- Access
- w_member_social
Send this to your assistant
Create a ClickRuntime automation: give me a link I can send a video URL and caption to. Upload the video to my LinkedIn profile as a post and email me when it's live.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Video does well on LinkedIn, but publishing it is awkward. A product team with a demo recorded in a video tool, a speaker with a conference clip or a creator with a short tutorial has to download the file, open LinkedIn, wait for an upload on a flaky connection and write the caption. If the clip is sized for another channel, the whole thing gets postponed until someone has an afternoon free.
You send ClickRuntime a video URL and a caption. It downloads the video, starts a LinkedIn upload, sends the file in parts so that larger videos work, creates the post and emails you a confirmation. The video ends up on your profile without anyone touching LinkedIn.
It is useful for teams that produce video regularly and want it to go out the day it is finished.
What you get out of it
Fresh video gets published at once
A launch demo or a conference clip has the most value on the day it is relevant. Sending a link as soon as the file is ready means the audience sees it while the news is current.
Large files are handled in parts
LinkedIn requires video to be uploaded in pieces, which is awkward to do by hand. The automation does that work, so a clip that would fail on a slow connection goes up reliably.
Other tools can trigger a post
A video editing platform or a content calendar can call the webhook when an export is ready. That connects production to publishing without a manual step in between. That makes video publishing part of the production process.
The confirmation email is a record
Each successful post is confirmed by email, so you have a trail of what was published and when. If something fails, the lack of an email tells you to look into it.
Social teams save repetitive work
Downloading, uploading and captioning each clip takes time that adds up over a month. Handing it off leaves the team free to produce better video instead of moving files. Time saved there is better spent on the next video.
How it works
What happens, step by step
When you send a video link and caption to the automation's private link, it starts.
It downloads the video and uploads it to LinkedIn in parts, so large files work too.
Once the upload is finished, it publishes the video post with your caption.
You get an email confirming the video is live, with a link to the post.
Before it runs live
- Connect LinkedIn
- 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
- 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 LinkedIn steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify, http, credentials
API = "https://api.linkedin.com/rest"
@on_event
def handle(event):
body = event.json or {}
token = credentials.connection("linkedin", "main")
headers = {"Authorization": f"Bearer {token}", "LinkedIn-Version": "202405", "X-Restli-Protocol-Version": "2.0.0"}
owner = "urn:li:person:" + http.get("https://api.linkedin.com/v2/userinfo", headers=headers).json()["sub"]
video = http.get(body["video_url"], timeout=60).content
init = http.post(f"{API}/videos?action=initializeUpload", headers=headers, json={"initializeUploadRequest": {
"owner": owner, "fileSizeBytes": len(video), "uploadCaptions": False, "uploadThumbnail": False}}).json()["value"]
etags = []
for part in init["uploadInstructions"]:
chunk = video[part["firstByte"]:part["lastByte"] + 1]
etags.append(http.put(part["uploadUrl"], data=chunk, timeout=120).headers["etag"])
http.post(f"{API}/videos?action=finalizeUpload", headers=headers, json={"finalizeUploadRequest": {
"video": init["video"], "uploadToken": init.get("uploadToken", ""), "uploadedPartIds": etags}}).raise_for_status()
resp = http.post(f"{API}/posts", headers=headers, json={
"author": owner, "commentary": body.get("caption", ""), "visibility": "PUBLIC",
"distribution": {"feedDistribution": "MAIN_FEED", "targetEntities": [], "thirdPartyDistributionChannels": []},
"content": {"media": {"id": init["video"]}}, "lifecycleState": "PUBLISHED",
})
resp.raise_for_status()
notify.email_me("Your LinkedIn video is live", f"https://www.linkedin.com/feed/update/{resp.headers['x-restli-id']}")
return {"posted": True}FAQ
Common questions
How large can the video be?
Why does the video have to be downloaded first?
How long does it take for the post to appear?
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 an image to LinkedIn by sending a link
Send an image URL and caption and it appears as an image post on your profile.
See how it worksTurn a topic into a published LinkedIn post
You send a one-line topic and get a finished post on your profile, with a copy in your inbox.
See how it worksPost weekly updates to your company page
One update from your list goes out on your company page every Wednesday.
See how it worksKeep exploring
Set up “Post a video to LinkedIn from a link” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.