🎉 Zero to Agentic AI HeroTake the course→

AutomationBench

AutomationBench is a benchmark for evaluating AI agents on realistic business workflows. Read the AutomationBench white paper and the source repository.

This guide runs the simulated SaaS APIs as one local service. Bionic connects to the generated OpenAPI specifications like any other integration, and all services share one simulated world.

Start the API container

docker pull ghcr.io/bionic-gpt/integration-simulator:latest
docker run --rm --name integration-simulator -p 8880:8080 \
  ghcr.io/bionic-gpt/integration-simulator:latest

Check readiness with curl http://localhost:8880/health.

Download the OpenAPI specifications

The versioned simulator image includes the OpenAPI specifications used by the service:

container=$(docker create ghcr.io/bionic-gpt/integration-simulator:latest)
docker cp "$container:/specs" ./integration-simulator-openapi
docker rm "$container"

Load every service into Bionic

Run import-automationbench.sh against a local evaluation database:

BIONIC_DATABASE_URL='postgresql://db-owner:testpassword@localhost:30001/bionic-gpt?sslmode=disable' \
BIONIC_TEAM_ID=5 BIONIC_USER_ID=1 ./import-automationbench.sh

The helper is idempotent, creates team-visible authentication-free OpenAPI integrations, and does not create API-key or OAuth connections. The adapter exposes /admin/world for loading an initial_state and /admin/reset for starting over.

Reset for a benchmark task

For repeatable evaluation runs, reset the shared world from the task name rather than constructing the state by hand:

curl -X POST http://localhost:8880/benchmark/reset \
  -H 'Content-Type: application/json' \
  -d '{"task":"simple.email_sf_contact_phone_update"}'

The response includes the task name, the services allowed for that task, and the initialized world. This replaces the current world for every caller of the container, so reset before starting each evaluation. Use /admin/reset for an empty world or /admin/world when you already have a serialized initial_state object.