🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsHeader and Footer not showing in Excel(14.09.2026 um 22:43 Uhr)
🕵️ SicherheitslückenBurn Out, Or Fade Away(14.09.2026 um 14:25 Uhr)
🪟 Windows TippsKB5129194 Windows 11 26H1 Out of Band Update - Deskmodder.de(14.09.2026 um 19:25 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsHeader and Footer not showing in Excel(14.09.2026 um 22:43 Uhr)
🕵️ SicherheitslückenBurn Out, Or Fade Away(14.09.2026 um 14:25 Uhr)
🪟 Windows TippsKB5129194 Windows 11 26H1 Out of Band Update - Deskmodder.de(14.09.2026 um 19:25 Uhr)

🔧 Programmierung 🕛 vor 2 Monaten 4 Min Lesezeit
0

Turn one devlog into posts for every channel with n8n + AI

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

If you're a solo game developer, you know the drill: you ship an update, write a devlog… and then you have to rewrite it four times. A punchy tweet. A longer Reddit post that doesn't sound like an ad. A casual Discord ping. A newsletter blurb. By the third rewrite you've lost the will to post at all.



I automated the rewriting with n8n, Google Gemini, and Notion. I write the devlog once, hit run, and get channel-ready drafts waiting in Notion. It doesn't auto-post, it makes drafts I review and send myself, which keeps everything authentic and inside each platform's rules.



Here's a short demo of the finished workflow:

👉 and create your account.






Step 2 - The devlog input



Add a Code node where you write your update once. Keeping it in a Code node means you just edit two variables each time:




CODE
const devlog_title = "Update 0.3 — Online Co-op";
const devlog_body = `We just shipped online co-op for up to 4 players,
fixed the save-corruption bug, and added 2 new levels.
Next up: controller support and a Steam demo.`
;

return [{ json: { devlog_title, devlog_body } }];






(Later you can swap this for a Form Trigger so you get a little web form, or a Notion Trigger that fires when you add a devlog page.)






Step 3 - Reformat with Gemini



Add the Google Gemini node. The trick is to make it return strict JSON so the next node can split it cleanly:




CODE
You are a social media manager for a solo indie game developer.

Here is a devlog update:
Title: {{ $json.devlog_title }}
Body: {{ $json.devlog_body }}

Rewrite it for each channel. Return ONLY valid JSON (no markdown,
no code fences, no text outside the JSON) with these exact keys:
{
"twitter": "280 characters max, punchy, 1-2 relevant hashtags",
"reddit": "friendly longer post for r/IndieDev, first person, no hashtags, no hard selling",
"discord": "casual short announcement for a community server, 1-2 emojis ok",
"newsletter": "2-3 sentence email blurb"
}









Step 4 - Parse the drafts



LLMs sometimes wrap JSON in code fences, so a small Code node cleans and parses it, with a fallback so you never lose output:




CODE
const raw = ($json.content?.parts?.[0]?.text) || "";

// \x60 is a backtick (char code 96). This strips a code fence
// if the model wraps its JSON output in one.
let clean = raw.trim()
.replace(/^\x60{3}json\s*/i, "")
.replace(/^\x60{3}\s*/, "")
.replace(/\x60{3}$/, "")
.trim();

let parsed;
try {
parsed = JSON.parse(clean);
} catch (e) {
parsed = { twitter: "", reddit: raw, discord: "", newsletter: "" };
}

const input = $('Devlog Input').item.json;

return [{
json: {
devlog_title: input.devlog_title,
twitter: parsed.twitter || "",
reddit: parsed.reddit || "",
discord: parsed.discord || "",
newsletter: parsed.newsletter || "",
}
}];









Step 5 - Save to Notion



Create a Notion database called Devlog Drafts with these properties: Name (title), Twitter (text), Reddit (text), Discord (text), Newsletter (text), Status (text), Created (date).



Create an internal integration at notion.so/my-integrations, connect it to the database, then map the fields in n8n's Notion node. Set the title to {{ $json.devlog_title }} and each channel field to its matching value ({{ $json.twitter }}, etc.).



Run the workflow and you'll get a new row with four drafts - review, tweak, and post whenever you like.






Gotchas





  • All text lands in the Reddit field → the model didn't return clean JSON that run. Re-run, or tighten the prompt ("Return ONLY valid JSON"). The fallback in Step 4 keeps your output safe.


  • Empty Notion rows → property names must match exactly.


  • Very long drafts → normal devlogs are fine; extremely long posts may get truncated in Notion text fields.






Want the done-for-you version?



I packaged this, plus a Steam competitor-tracking workflow - into an importable pack with setup guides, the AI prompts, troubleshooting, and example screenshots:



👉 https://shrisab.gumroad.com/l/indie-launch-ops



Either way, write the devlog once, and stop dreading the four rewrites. Questions welcome in the comments.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
The Gemini desktop app is now available for Windows
1 Quelle
Header and Footer not showing in Excel
1 Quelle
Burn Out, Or Fade Away
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Turn one devlog into posts for every channel with n8n + AI

Thematisch verwandte Begriffe: Turn, devlog, into, posts · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...