← All Workflows

Give every blog post an on-brand share image

New posts get a matching Open Graph image so links look great everywhere they're shared.

See all workflows
Trigger1Incoming webhookRun when an external service posts data.
Source2Webhook payloadUse rows from the incoming webhook body.
Render3Dark Developer Blog OG Image with Syntax Code CardExample template. Swap in your own design.
Destination4WordPressUpload renders to your media library.

OG images on autopilot

Every post on your blog needs an Open Graph image, and hand-making one per post is the kind of chore that quietly stops happening by the tenth post. This workflow generates them instead. Each post gets a single image URL that renders its social card on demand from the post's own title and author, so link previews look right everywhere the post gets shared.

Who generates OG images this way

Content teams on WordPress
Every post carries a branded card without a designer in the loop. The workflow writes the image straight back to the post.
Developers on headless or static blogs
Next.js, Astro, or Hugo sites that set the image URL from the publish hook or build step.
Newsletters and docs sites
Hundreds of existing pages backfilled once, then automated for everything published after.

How it works

  1. Design the card once. Build one 1200 x 630 template in the Orshot studio with a placeholder for the title, and whatever else your cards show: author, category badge, cover art.
  2. Give each post an image URL. The URL carries that post's values, so og:image for one post points at the same template rendered with its title, author, and category.
  3. It renders on request. The first time someone shares the link, the URL renders the PNG from those values. Long titles auto-fit rather than overflowing, which is the failure mode of most homegrown OG endpoints.
  4. The result is cached. Every share after the first serves the stored image instantly, so a post going viral doesn't re-render on every click.

Where the card shows up

  • Search snippets, where a right-sized card helps a result stand out in the list.
  • Social shares on X, LinkedIn, and Facebook, where the image is what earns the click.
  • Link previews in Slack and iMessage, where a missing card leaves a gray box that costs attention.

How it works, step by step

  1. Design your OG template

    Create one 1200 x 630 template in the Orshot studio with placeholders for the post title, and optionally author, category, or a cover image.

  2. Create the webhook trigger

    The workflow gives you a webhook URL. Call it when a post is published, from your CMS, WordPress, or build pipeline.

  3. Map the payload

    Point the template placeholders at fields in the webhook body, like title and author.

  4. Use the rendered image

    Orshot renders the card and, for WordPress, sets it on the post. Other stacks read the image URL from the response and put it in the og:image tag.

Integrations in this workflow

Connect these apps once and the workflow moves your data through them automatically.

Frequently asked

What is an OG image?

The preview image shown when a link is shared on X, LinkedIn, Slack, iMessage, and most other apps. It comes from the og:image meta tag on the page. Pages without one get a gray box or a random image, which costs clicks.

What size should an OG image be?

1200 x 630 pixels is the standard. It works across X, LinkedIn, Facebook, and chat apps. Design your Orshot template at that size and every render comes out correct.

How does the automation trigger when I publish a post?

Through a webhook. WordPress can call it on publish, headless CMSs like Sanity or Contentful can call it from a publish hook, and static sites can call it from the build or deploy step.

Do I need to write code?

For WordPress, no: the workflow can set the image on the post directly. For other stacks you need one small step that sends the webhook and stores the returned image URL, which is a few lines in most CMSs.

Can each category get a different design?

Yes. Include the category in the webhook payload and use it to switch colors or badges within one template, or run one workflow per category with different templates.