<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Flows on Go Micro</title><link>https://go-micro.dev/tags/flows.html</link><description>Recent content in Flows on Go Micro</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 29 Jul 2026 08:42:34 +0100</lastBuildDate><atom:link href="https://go-micro.dev/tags/flows/index.xml" rel="self" type="application/rss+xml"/><item><title>Durable Workflows</title><link>https://go-micro.dev/blog/2026/06/17/durable-workflows.html</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/06/17/durable-workflows.html</guid><description>&lt;p&gt;A workflow that calls real services is rarely instant and rarely side-effect-free. It reserves inventory at step one, charges a card at step two, sends a confirmation at step three. Each of those changes the world. So when the process dies between step two and step three — a deploy, an OOM, a node going away — you can&amp;rsquo;t just run it again from the top: that reserves twice and charges twice. And if the workflow was triggered by an event with no human watching, nobody noticed it died at all.&lt;/p&gt;</description></item><item><title>When the Event Is the Prompt</title><link>https://go-micro.dev/blog/2026/06/15/when-the-event-is-the-prompt.html</link><pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/06/15/when-the-event-is-the-prompt.html</guid><description>&lt;p&gt;Almost every agent demo starts the same way: a human types a prompt, the agent responds. That framing is a habit from chat, and it hides the more useful case. The agents worth running don&amp;rsquo;t wait for you to ask. They run because something happened — a user signed up, a payment failed, a deployment finished, a metric crossed a line. In those systems there is no prompt, because there is no human in the loop. The event is the prompt.&lt;/p&gt;</description></item><item><title>From Chat to Flows: What If Your Services Could Orchestrate Themselves?</title><link>https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves.html</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves.html</guid><description>&lt;p&gt;&lt;figure role="figure" aria-label=""&gt;
 &lt;a href="https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves/blog-agents-demo.jpg"&gt;
 &lt;div class="image-wrapper" style="background: linear-gradient(#fbfafc, #5846bb);"&gt;
 &lt;img
 alt=""
 title=""
 width="1200"
 height="800"srcset="https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves/blog-agents-demo_hu_515df68ec1c5d8e1.webp 420w, https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves/blog-agents-demo_hu_e0da701e2b7ecd98.webp 789w, https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves/blog-agents-demo_hu_a4233173b453a09d.webp 1019w, "
 sizes="(min-width: 1000px) 789px, (min-width: 500px) 80.42vw, 87.78vw"
 src="https://go-micro.dev/blog/2026/05/29/from-chat-to-flows-what-if-your-services-could-orchestrate-themselves/blog-agents-demo_hu_e86f19109700af34.jpg"
 decoding="async"loading="lazy"
 /&gt;
 &lt;/div&gt;
 &lt;/a&gt;
 &lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;We shipped &lt;code&gt;micro chat&lt;/code&gt; recently — an interactive terminal where you talk to your services through an LLM. You say &amp;ldquo;list all users over 30 and send each a welcome email,&amp;rdquo; and the model figures out which services to call, in what order, with what arguments.&lt;/p&gt;
&lt;p&gt;It works. But it&amp;rsquo;s interactive and ephemeral. You type a prompt, get a result, move on. What if you could save that prompt as a &lt;strong&gt;flow&lt;/strong&gt; and trigger it from an event?&lt;/p&gt;</description></item></channel></rss>