A zero-code AI workflow orchestration framework with state-driven agents
Project description
FlowAgents
State-driven AI agent framework for task automation with human-in-the-loop.
Build agents that collect information, validate input, and execute tasks with optional approval.
Perfect For
- Booking & Reservations - Restaurants, flights, hotels, appointments
- Request & Approval - Leave requests, expense reports, access requests
- Form Wizards - Multi-step data collection with validation
- Business Workflows - Order processing, customer service, IT ticketing
Installation
pip install flowagents # Core
pip install flowagents[openai] # + OpenAI
pip install flowagents[anthropic] # + Claude
pip install flowagents[all] # All providers
Quick Example
import asyncio
from flowagents import flowagent, StandardAgent, InputField, AgentStatus
from flowagents import Orchestrator, OpenAIClient
@flowagent(triggers=["book", "reservation"])
class BookingAgent(StandardAgent):
guests = InputField("How many guests?")
date = InputField("What date?")
async def on_running(self, msg):
return self.make_result(
status=AgentStatus.COMPLETED,
raw_message=f"Booked for {self.guests} on {self.date}!"
)
async def main():
llm = OpenAIClient(api_key="sk-xxx", model="gpt-4o-mini")
orchestrator = Orchestrator(llm_client=llm)
await orchestrator.initialize()
result = await orchestrator.handle_message("user_1", "I want to book a table")
print(result.raw_message) # "How many guests?"
result = await orchestrator.handle_message("user_1", "4")
print(result.raw_message) # "What date?"
result = await orchestrator.handle_message("user_1", "Friday")
print(result.raw_message) # "Booked for 4 on Friday!"
asyncio.run(main())
Key Features
- State Machine -
INITIALIZING → WAITING_FOR_INPUT → RUNNING → COMPLETED - Field Collection - Declarative
InputFieldwith validation - Approval Workflow - Human confirmation before sensitive actions
- Multi-LLM - OpenAI, Claude, Azure, Gemini, Ollama, DashScope
- Orchestrator - Route messages to the right agent
- Multi-tenant - Built-in isolation for SaaS
Documentation
- Getting Started - Build your first agent
- Full Documentation - Complete guide
- Examples - Sample code
Guides: Agents | Tools | LLM Providers | Orchestrator | Workflow
Contributing
See CONTRIBUTING.md for guidelines.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowagents-0.1.1.tar.gz.
File metadata
- Download URL: flowagents-0.1.1.tar.gz
- Upload date:
- Size: 191.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
104496c99625e1c31bef56584ee8020388a673df8cdfacd8ffcd3048e26d942b
|
|
| MD5 |
3f669cba8268453667fd921808a62180
|
|
| BLAKE2b-256 |
7fe1f52b8aaac23bdc40cc9ccb6e386d45010ba5b4acc74cfa48e20e3b326418
|
File details
Details for the file flowagents-0.1.1-py3-none-any.whl.
File metadata
- Download URL: flowagents-0.1.1-py3-none-any.whl
- Upload date:
- Size: 182.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ad55a1ad2879462d07fe378304355aa29e5405189964957a09cd019edf4dfbe
|
|
| MD5 |
af9dc91a4b8f58a042928de05baad4a5
|
|
| BLAKE2b-256 |
998e904446ab87b910b377ad452e99340ce188da750bc42e74d02a14b4bec187
|