# Weekly branded LinkedIn tip cards from a Google Sheet

> Every Monday morning, turn the next row of your tips spreadsheet into a branded image post on LinkedIn and mark it as sent.

- Workflow type: agent
- Services: Ideogram, Google Sheets, LinkedIn
- Categories: Marketing
- Published: 2026-07-12

## What it does

- Runs every Monday at 8am and picks the next unposted tip from your Google Sheet.
- Generates a square, on-brand social card with the tip headline baked right into the image.
- Posts the card to LinkedIn with a short caption pulled from the same row.
- Marks the tip as posted so it never repeats, and skips any row whose caption is still empty.

## What you'll need

- A Google Sheet with a tips tab (columns for headline, sub-copy, caption, posted, and post URL).
- An Ideogram account with API credits for image generation.
- A LinkedIn account with permission to post on the profile or page you want to use.

## Prompt

Every Monday at 8am in my local timezone, publish a branded tip card to LinkedIn using the next tip in my Google Sheet. The trigger is a cron schedule.

Read from the tips tab of the sheet with Google Sheets Get Values. Each row has these columns: headline, sub-copy, caption, posted (empty when unposted), and post URL. Pick the first row where the posted column is empty. If that row's caption column is also empty, stop the run without posting anything so I can fill it in later without losing the row.

Generate a square social card with Ideogram Generate (Ideogram 4.0). Pass a text_prompt that renders the tip's headline as the main poster text and the sub-copy underneath in a clean, brand-styled layout on a solid background. Request a 1:1 aspect ratio. Ideogram's in-image typography is the whole reason this workflow uses it, so the text should be baked into the image itself, not overlaid afterwards. Download the returned image bytes since the Ideogram URLs expire.

If the response comes back with is_image_safe = false, retry once with a simpler prompt that drops adjectives and brand-jargon and just asks for the headline and sub-copy on a plain colored background. If the retry is still flagged unsafe, stop and leave the row untouched so I can look at it.

Once you have a valid image, post it to LinkedIn with Create Post as an image post. Use the caption column from the same row verbatim as the post commentary.

After LinkedIn returns the post URN, build the public post URL from it and write today's date into the posted column and the URL into the post URL column for that row with Google Sheets Update Values. That is how the workflow guarantees the same tip is never posted twice.

## How to customize

- Change the day and time to match your own posting cadence.
- Rewrite the image prompt template so the cards match your brand colors, fonts, and layout.
- Add columns like theme or campaign and tell the workflow to filter or rotate through them.

## FAQ

### Do I have to write the LinkedIn caption ahead of time?

Yes. Fill in the caption column for each row you want posted. Rows without a caption are skipped, so you can queue drafts without them going live before you're ready.

### What if Ideogram rejects the image on safety grounds?

The workflow catches the safety flag, simplifies the prompt, and tries once more. If it still comes back unsafe, the row is left unposted so you can review it.

### Will the same tip ever get posted twice?

No. After a successful post, the workflow writes the post link and today's date back to the row, and the next run only picks rows where the posted column is still empty.

### Can I post to a LinkedIn company page instead of my personal profile?

Yes. Point the LinkedIn step at your company page during setup and grant the workflow the right permissions for that page.

### Do the tips have to be short?

Keep the headline short and punchy since it will be rendered inside the image. The sub-copy has a bit more room, and the caption can be as long as a normal LinkedIn post.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-branded-linkedin-tip-cards-from-a-google-sheet