Skip to content

The moment it happens

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.

Runs
The moment it happens
Apps
LinkedIn
AI
Not needed
Access
w_member_social

Send this to your assistant

Create a ClickRuntime automation: give me a link I can send an image URL and caption to, and publish each one as a LinkedIn image post on my profile.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Posting a photo to LinkedIn from a phone is easy; posting one automatically from another system is not. Marketing teams that keep images in a content tool, a shared drive or a design platform have to download each file, open LinkedIn, upload, type the caption and publish. Event photographers and community managers repeat that dozens of times a month, and the images that should go out the same day wait until someone has a gap.

You send ClickRuntime an image URL and a caption. It downloads the image, goes through LinkedIn's upload steps, creates the post with the image attached and publishes it. The image, which LinkedIn requires to be uploaded rather than linked, ends up on your profile exactly as if you had posted it by hand.

It works well as a building block for other tools that produce images and captions.

What you get out of it

  • Photos go out while they are fresh

    Pictures from an event or a product release matter most within hours. Posting straight from a link means the moment is shared before the audience loses interest. Timeliness is often what makes a post worth reading.

  • Other tools can feed LinkedIn

    Any system that can send a URL and a caption, such as a design tool or a spreadsheet script, can publish a post. You do not need a separate LinkedIn integration for each of them.

  • The tedious upload steps are handled

    LinkedIn requires registering an upload, sending the file and referencing it in the post. Doing that for each image is slow and error-prone, and the automation takes care of it every time.

  • Captions and images stay together

    The caption is sent with the image, so they are never mismatched or posted separately. Mistakes like captioning the wrong photo become less likely. That removes a whole class of avoidable mix-ups.

  • Social posting does not need desktop access

    Because it is triggered by a request, anyone with the link, or a tool, can publish. Team members on the road do not need to log in to LinkedIn to share an image.

How it works

What happens, step by step

  1. When you send an image link and caption to the automation's private link, it starts.

  2. It downloads the image and uploads it to LinkedIn.

  3. It publishes a post with the image and your caption on your LinkedIn profile.

Before it runs live

  • Connect LinkedIn
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Post an image to LinkedIn by sending a linkjust nowSucceeded
LinkedIn · Your profileImage post published: "Our new Northwind warehouse in Leeds is open"

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
post_an_image_from_a_link.pyexample
from clickruntime import on_event, 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"]
    init = http.post(f"{API}/images?action=initializeUpload", headers=headers,
                     json={"initializeUploadRequest": {"owner": owner}}).json()["value"]
    image = http.get(body["image_url"]).content
    http.put(init["uploadUrl"], headers={"Authorization": f"Bearer {token}"}, data=image).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["image"]}},
        "lifecycleState": "PUBLISHED",
    })
    resp.raise_for_status()
    return {"post": resp.headers["x-restli-id"]}

FAQ

Common questions

What image types and sizes are supported?
Common formats such as JPEG and PNG work, as long as the link is public and downloads directly. Very large files may be rejected by LinkedIn, so keep images to a reasonable size, typically a few megabytes, and check that the URL does not need a login.
Does the URL need to be public?
Yes, ClickRuntime has to download the image, so it must be reachable without signing in. Links from private drives will fail unless they are shared as public. A link that expires before the automation runs will also fail.
Can I post to a company page instead of my profile?
Yes, if the connected LinkedIn account has the right role on the page. The post can use the organization as the author. Say which page you want, since the account must have posting rights there for LinkedIn to allow it.
What permissions does it need?
w_member_social. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Post an image to LinkedIn by sending a link” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.