# Post new WordPress articles to LinkedIn as branded Canva images

> Every hour, turn each newly published blog post into an on-brand Canva graphic and share it on your LinkedIn company page with an AI-written caption.

- Workflow type: agent
- Services: Canva, WordPress, LinkedIn
- Categories: Marketing
- Published: 2026-07-17

## What it does

- Watches your WordPress site every hour and picks up every newly published article
- Pulls each post's featured image into Canva and drops the title and excerpt into your brand template to render an on-brand social graphic
- Falls back to a Canva preset design (Instagram Post, LinkedIn Post, and so on) when a brand template is not available
- Writes a LinkedIn caption from the excerpt with a hook and the article link, then publishes an image post to your company page automatically

## What you'll need

- A WordPress site you can log in to (login and application password)
- A connected Canva account. The Enterprise plan unlocks brand templates; Free and Pro accounts can still use the preset design fallback
- Admin access to the LinkedIn company page you want to post from
- Optional: the ID of a Canva brand template you have already set up with a title text field, excerpt text field, and image field

## Prompt

Every hour, find newly published articles on my WordPress site and turn each one into a branded Canva social image that gets posted to my LinkedIn company page.

Trigger: cron every hour.

Step 1 — Find new posts. Use WordPress List Posts with status=publish and after=<last successful run timestamp> to pull only articles published since the workflow last ran. Order by date ascending so older posts publish first. If no new posts are found, exit cleanly.

Step 2 — For each new post, generate the graphic in Canva:

2a. Pull the featured image into Canva with Canva Upload Asset from URL, passing the post's featured_media source URL. Poll the returned asset upload job until status is success and capture the asset ID.

2b. If the user configured a Canva brand template, call Canva Autofill Brand Template with the brand template ID and a data payload mapping the template's text fields to the post title and excerpt, and its image field to the uploaded asset ID. Poll the autofill job until it terminates. Note: Autofill Brand Template requires a Canva Enterprise plan.

2c. Fallback for Free and Pro plans (or when no brand template is configured): call Canva Create Design with a preset design type (e.g. InstagramPost or LinkedInPost) and the uploaded asset ID as the inserted image. This produces a plain design without the branded overlay text, so surface a note to the user in the workflow inputs that Enterprise unlocks the fully branded output.

2d. Export the design as PNG with Canva Export Design and poll the export job until it returns a download URL. Important: Canva job download URLs expire after 24 hours, so the LinkedIn post must be created in the same workflow run — do not persist the URL for later use.

Step 3 — Draft the LinkedIn caption. Take the post title, excerpt, and public URL and write a company-page caption: open with a short hook (one line), give a two or three sentence takeaway drawn from the excerpt, close with a call to read the full article and include the post URL. Respect the caption style guidance the user provided at setup (voice, tone, hashtag rules). Do not use em dashes.

Step 4 — Publish to LinkedIn. Call LinkedIn Create Post as an image post: author = the LinkedIn organization URN the user configured, media = the exported PNG (fetch the Canva download URL bytes and upload through LinkedIn's image flow inside Create Post), commentary = the drafted caption. Confirm the post URN returned in the x-restli-id header.

Step 5 — Record the published-post ID and its timestamp so the next hourly run can filter to posts newer than the last one processed.

Author should let the user pick, at setup:

- the WordPress site (credential)

- the Canva brand template ID (Enterprise) OR a preset design type for the fallback path

- the LinkedIn organization URN (the company page to post from)

- optional caption style guidance (voice, tone, hashtag rules, whether to tag anyone)

Nuance to bake in: Canva async jobs (asset upload, autofill, export) return a job envelope with status=in_progress and transition to success or failed — poll each one before using the result. Job-level failures come back as 2xx with status=failed, not HTTP errors, so check both layers. Skip posts that have no featured image if the fallback preset requires one, or use a solid-color background variant. Do not re-share posts from before the workflow was first turned on — seed the last-run timestamp to now at first launch.

## How to customize

- Point it at a specific Canva brand template, or pick a preset like Instagram Post or LinkedIn Post for the fallback path
- Change the schedule to run every 15 minutes, hourly, or once a day depending on how often you publish
- Give the caption writer style guidance (punchy, thought leadership, casual, hashtag rules, whether to tag anyone)
- Filter to only certain WordPress categories or tags if you only want some posts syndicated

## FAQ

### Do I need Canva Enterprise for this to work?

Only for the fully branded output. Enterprise unlocks brand templates, which is where the title and excerpt get overlaid on your on-brand layout. If you are on Free or Pro, the workflow falls back to a Canva preset design that uses your featured image without the branded text overlay.

### Which LinkedIn account does it post to?

Your LinkedIn company page. You pick the specific page during setup and only pages you have admin access to are eligible.

### Will it re-share posts that were already published before I turned this on?

No. The workflow only picks up articles published since the last successful run. On first launch it starts from that moment forward, so older archive posts stay put.

### What happens if a post does not have a featured image?

The workflow either skips that post or uses your brand template's default background, depending on how you configure the fallback. You can tune this at setup.

### Can I change the image size or aspect ratio?

Yes. Swap in a different Canva brand template or pick a different preset design type (Instagram Post, LinkedIn Post, Facebook Post, custom dimensions) at setup.

Use this prompt in General Input: https://www.generalinput.com/prompts/post-new-wordpress-articles-to-linkedin-as-branded-canva-images