Your AWS account is your login
We authenticate you via your own AWS account (AWS IAM, signed requests) — a scoped, read-only allowlist, no separate password or API key to leak.
AWS-native. Sign in with the AWS account you already have — no password, no API key. We run the infrastructure, you just build on top.
Most real-time voice agents start life as a single giant prompt — one wall of text trying to cover greetings, routing, edge cases, and interruptions all at once. FlowGraph lets you build that logic the way you'd build any other stateful system instead: as nodes and transitions, in Python.
If you've used LangGraph for LLM orchestration, this will feel familiar — decorators, nodes, edges. The difference is what each node actually is: not a text-generation step, but a live conversation state for a real-time voice or video agent. Transitions aren't function calls — they're what your caller actually says next.
graph = FlowGraph(name="support_agent", persona="Friendly, concise support rep.")
@graph.node("MAIN_ROUTING", objective="Figure out what the caller needs")
def main_routing(n):
n.instructions("Greet the caller.", "Ask how you can help.")
n.on(condition="caller wants billing help", to="BILLING")
n.on(condition="caller wants technical support", to="SUPPORT")
@graph.node("BILLING", objective="Resolve a billing question")
def billing(n):
n.instructions("Ask for the account or invoice number.", "Explain the charge or issue a fix.")
n.on(condition="caller's question is resolved", to="MAIN_ROUTING")
n.on(condition="caller needs a human", to="SUPPORT")
graph.entry("MAIN_ROUTING")
flow = graph.compile()Every .on(condition=..., to=...) call is an edge — the graph above compiles to exactly this:
Notice BILLING loops back to MAIN_ROUTING — flows are cyclic state machines, not one-way scripts. A caller can bounce between nodes as many times as the conversation actually needs.
Compile once, run live: the same graph feeds your hosted agent's system prompt directly, recompiled fresh every time it starts — never a stale prompt file to keep in sync by hand.
Tell us your email and AWS account number and we'll grant that account free trial credit — enough to run one instance for 6 days, no credit card required. No password, no API key to manage.