Skip to main content

A zero-code AI workflow orchestration framework with state-driven agents

Project description

FlowAgents

Python License Version

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 InputField with 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

Guides: Agents | Tools | LLM Providers | Orchestrator | Workflow

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flowagents-0.1.1.tar.gz (191.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flowagents-0.1.1-py3-none-any.whl (182.5 kB view details)

Uploaded Python 3

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

Hashes for flowagents-0.1.1.tar.gz
Algorithm Hash digest
SHA256 104496c99625e1c31bef56584ee8020388a673df8cdfacd8ffcd3048e26d942b
MD5 3f669cba8268453667fd921808a62180
BLAKE2b-256 7fe1f52b8aaac23bdc40cc9ccb6e386d45010ba5b4acc74cfa48e20e3b326418

See more details on using hashes here.

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

Hashes for flowagents-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ad55a1ad2879462d07fe378304355aa29e5405189964957a09cd019edf4dfbe
MD5 af9dc91a4b8f58a042928de05baad4a5
BLAKE2b-256 998e904446ab87b910b377ad452e99340ce188da750bc42e74d02a14b4bec187

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page