get_workflow.py
"""
Load Workflow from Database
===========================
Demonstrates loading a workflow from the database by ID and running it.
"""
from agno.db.postgres import PostgresDb
from agno.workflow.workflow import get_workflow_by_id, get_workflows # noqa: F401
# ---------------------------------------------------------------------------
# Create Database Client
# ---------------------------------------------------------------------------
db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")
# ---------------------------------------------------------------------------
# Run Workflow Load Example
# ---------------------------------------------------------------------------
if __name__ == "__main__":
workflow = get_workflow_by_id(db=db, id="content-creation-workflow")
if workflow:
workflow.print_response(input="AI trends in 2024", markdown=True)
else:
print("Workflow not found")
# You can also get all workflows from the database
# workflows = get_workflows(db=db)
# for workflow in workflows:
# print(workflow)
Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
Run PgVector
docker run -d \
-e POSTGRES_DB=ai \
-e POSTGRES_USER=ai \
-e POSTGRES_PASSWORD=ai \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v pgvolume:/var/lib/postgresql/data \
-p 5532:5432 \
--name pgvector \
agnohq/pgvector:18