Skip to main content
FlowFn
IntegrationsTemplatesPricingDocsBlogSign inStart free
All documentation

v1.49.0

UpdatedJun 12, 2026Reading time3 min read

Released 2026-06-12. Streams (preview) — realtime rooms for games and live apps.

Added

  • Streams. A new artifact alongside workflows, forms, and playgrounds: create a stream, define channels (named pipes like state, chat, events with rules for who may publish), and connect clients over WebSocket. Players join rooms, publish messages on channels, and receive everything happening in the room — presence (who's here, who joined, who left) is built in. Identity is bring-your-own: your game sends its own player id; FlowFn never stores player accounts.
  • Live view. The stream's dashboard page shows connected rooms, occupancy, and connection counts in real time.
  • Limits that scale with your plan. Streams per team, concurrent connections, concurrent rooms, and per-connection message rates are plan-based, with per-channel rate limits you control.
  • AI agents in your game (preview). A new streaming agent type can be bound to a channel so it answers your rooms as an in-game character — an NPC, a referee, a hint-giver. Each room gets the agent's own memory, replies land on a channel players hear (typically a FlowFn-only channel they can't post to), and a per-room cooldown keeps a busy room from running up cost. If your agent replies with JSON, it's delivered as structured data your game can act on directly.
  • Channel bindings + stream code. Every stream gets its own Code editor — write backend functions right on the stream, no other artifact needed — and a channel can trigger them (or a workflow) for every player/server message. Bound code replies into the room with ctx.streams.publish(...) — including on FlowFn-only channels players can hear but never write — and FlowFn-side messages can never re-trigger bindings, so loops are impossible by design. Playground server code keeps working unchanged: both now run on one shared execution core.
  • Signed player tokens. Your game server mints short-lived signed tokens asserting who a player is — and optionally which rooms they may join — using the stream's server key. FlowFn verifies them instantly with no callback to your server and no player accounts stored. Leave "open identity" off and only token-holders get in; rotate the key to invalidate every outstanding token at once. A "generate test token" button on the stream page lets you try the gateway without standing up a server.
  • Workflow results back in the room. A workflow binding can set a reply channel: when the run finishes, the room hears a workflow_run event with the result (or the error) on that channel — your game reacts to the outcome without polling. Leave it unset for fire-and-forget.
  • Recent activity feed. Every stream page now shows what just happened: connections and disconnections (with close codes), room joins, kicks, each binding firing — including your stream functions' own console.log output and errors — and workflow completion events. Entries expire automatically after 3 days. Message contents are never logged; what your code prints is the window you control.
  • Unity SDK (preview). A single C# MonoBehaviour for Unity 2021.3+ — rooms, presence, publish, selective subscription, signed tokens, main-thread events, and automatic reconnect with room re-join. See the Streams user guide.
  • Godot SDK (preview). A single GDScript file for Godot 4.x wrapping the whole protocol — rooms, presence, publish, selective subscription, signed tokens, and automatic reconnect with room re-join. See the Streams user guide.
  • Subscribe to just the channels you need. join accepts a channel list — a spectator can skip the chatty state channel, a bot can read only events. Presence still arrives; bandwidth drops.
  • Usage at a glance. Each stream page now shows daily messages and peak concurrent connections for the last two weeks (kept 90 days).
  • Changes apply to live connections. Disabling a stream or rotating its server key now disconnects affected sockets immediately (players on open identity stay connected through a key rotation), channel and binding edits reach already-connected clients without a reconnect, and a client that keeps publishing past its rate limit is disconnected. See the close codes in the protocol reference.

Coming next

  • An optional binary frame mode for high-frequency state sync.

Spotted an issue or have feedback?

support@flowfn.com
Back to docs hub →