Skip to main content

Spin up an AI agent company - a business run by AI agents, managed by you

Project description

Agent Company AI

Spin up an AI agent company - a business run by AI agents, managed by you.

Agent Company AI lets a solo entrepreneur create a virtual company staffed entirely by AI agents. Each agent has a specific business role (CEO, CTO, Developer, Marketer, etc.), they collaborate on tasks, and you manage everything through a CLI or web dashboard. Agents can earn real money with built-in Stripe, Gumroad, invoicing, and booking integrations.

Quick Start

pip install agent-company-ai

1. Initialize your company

agent-company-ai init --name "My AI Startup"

You'll be prompted to:

  1. Choose an LLM provider — Anthropic, OpenAI, DeepSeek, Ollama, and more
  2. Configure integrations — Stripe, Email, Gumroad, Cal.com, Invoices, Landing Pages

The integration menu lets you pick any combination (comma-separated) or select "All":

Configure integrations (optional)
  [1] Stripe (payment links & subscriptions)
  [2] Email (send invoices & notifications)
  [3] Gumroad (sell digital products)
  [4] Cal.com (paid bookings)
  [5] Invoices (generate & send invoices)
  [6] Landing Pages (auto-enabled, no key needed)
  [7] All of the above
  [8] Skip for now

For each selected integration you'll be prompted for its API key (or press Enter to use an environment variable placeholder like ${STRIPE_SECRET_KEY}).

Non-interactive mode (for CI/scripts):

agent-company-ai init --name "Acme AI" --provider anthropic --api-key $ANTHROPIC_API_KEY

This skips all interactive prompts (LLM and integrations). To skip only integration prompts:

agent-company-ai init --name "Acme AI" --skip-integrations

2. One-command setup

Spin up a full team from a preset template:

agent-company-ai setup tech_startup --name "Acme AI"
agent-company-ai setup saas --name "CloudCo" --provider anthropic --api-key $ANTHROPIC_API_KEY
agent-company-ai setup --list  # see all presets

Available presets: tech_startup (6 agents), agency (6), ecommerce (7), saas (9), consulting (6), content (5), full (10 — all departments)

3. Or hire agents individually

agent-company-ai hire ceo --name Alice
agent-company-ai hire cto --name Bob
agent-company-ai hire developer --name Carol
agent-company-ai hire marketer --name Dave

4. Define your business model

Tell your agents how the company makes money:

agent-company-ai profit-engine setup --template saas

This injects your business DNA into every agent's decision-making. See ProfitEngine below.

5. Run autonomously

Give the CEO a goal and watch the company run:

agent-company-ai run "Build a landing page for our new product"

The CEO will break down the goal, delegate tasks to the team, and agents will collaborate to deliver results.

# With limits
agent-company-ai run "Launch MVP" --cycles 3 --timeout 600 --max-tasks 20

6. Check revenue

agent-company-ai revenue --days 30

Commands

Command Description
init Initialize a new company (with LLM + integration setup prompts)
setup <preset> Set up a full company from a template
hire <role> Hire an agent
fire <name> Remove an agent
team List all agents
assign "<task>" Assign a task
tasks Show the task board
chat <name> Chat with an agent
run "<goal>" Autonomous mode
broadcast "<msg>" Message all agents
dashboard Launch web dashboard
status Company overview
output List deliverables produced by agents
roles List available roles
revenue Revenue summary across all sources
companies List all companies in this directory
destroy Permanently delete a company
profit-engine <cmd> Configure business model DNA (details)
wallet <cmd> Manage blockchain wallet (details)

Global Options

Flag Description
--company / -C Company slug to operate on (default: default)

You can also set the company via environment variable:

export AGENT_COMPANY_NAME=my-startup
agent-company-ai team  # operates on my-startup

Money-Earning Tools

Agents can generate real revenue using built-in integrations. All tools are rate-limited and logged to the database.

Stripe Payment Links & Subscriptions

Create one-time payment links and recurring subscription links directly from agent workflows.

# config.yaml
integrations:
  stripe:
    enabled: true
    api_key: ${STRIPE_SECRET_KEY}
    max_link_amount_cents: 50000  # $500 safety cap per link

Tools: create_payment_link, create_subscription_link, list_subscribers, check_subscription_revenue

Gumroad Products

Create and sell digital products on Gumroad.

integrations:
  gumroad:
    enabled: true
    api_key: ${GUMROAD_ACCESS_TOKEN}

Tools: create_gumroad_product, list_gumroad_products, check_gumroad_sales

Invoices

Generate professional HTML invoices, email them to clients, and track payment status. No external API required.

integrations:
  invoice:
    enabled: true
    company_name: "Acme AI Inc."
    company_address: "123 AI Street"
    payment_instructions: "Pay via bank transfer to..."
    currency: USD

Tools: create_invoice, send_invoice, list_invoices, mark_invoice_paid

Invoices are saved as HTML files in .agent-company-ai/default/invoices/.

Cal.com Bookings

Create booking event types for paid consultations.

integrations:
  calcom:
    enabled: true
    api_key: ${CALCOM_API_KEY}
    default_duration: 30

Tools: create_booking_link, list_bookings, check_booking_revenue

Note: Payment collection requires Cal.com payment app setup in your dashboard. The price is recorded locally for revenue tracking.

Revenue Ledger

Unified revenue tracking across all sources — Stripe, Gumroad, invoices, crypto, and manual entries.

Tools: check_revenue, record_revenue, sync_stripe_revenue

# CLI command
agent-company-ai revenue --days 30

Email & Landing Pages

Send transactional emails (via Resend or SendGrid) and generate landing pages.

integrations:
  email:
    enabled: true
    provider: resend       # or sendgrid
    api_key: ${RESEND_API_KEY}
    from_address: hello@yourdomain.com
  landing_page:
    enabled: true

Tools: send_email, generate_landing_page

Social Media

Draft social media posts for review.

integrations:
  social:
    enabled: true
    twitter:
      api_key: ${TWITTER_API_KEY}
      api_secret: ${TWITTER_API_SECRET}
      access_token: ${TWITTER_ACCESS_TOKEN}
      access_secret: ${TWITTER_ACCESS_SECRET}

Tools: draft_social_post, publish_twitter

Lead Prospecting

Find leads, enrich contact info, and auto-add to CRM — no API keys needed. Uses DuckDuckGo search + website scraping.

agent-company-ai assign "Find 5 SaaS companies in the US and add them to our CRM"

Tools: prospect_search, enrich_contact, prospect_campaign

  • prospect_search — Search for companies by industry, keywords, and location
  • enrich_contact — Scrape a company's website for emails, phones, and social links
  • prospect_campaign — Full pipeline: search → enrich → CRM insert in one call

Content Generation

Create publish-ready blog posts, email sequences, and digital products from markdown. No API keys needed — all content is generated locally as styled HTML files.

Tools: create_blog_post, create_email_sequence, create_digital_product

  • create_blog_post — Markdown → styled HTML blog post with SEO meta tags. Saved to content/blog/
  • create_email_sequence — Drip campaign builder (onboarding, sales, nurture, launch). Stored in DB for use with email tool
  • create_digital_product — Multi-chapter HTML ebook with TOC. Saved to content/products/

Browser Automation

Scrape websites, extract structured data, and submit forms — no API keys needed.

Tools: browse_page, extract_contacts_from_url, submit_form

  • browse_page — Fetch any URL and extract text, links, emails, meta tags, or forms
  • extract_contacts_from_url — Multi-page contact extraction (checks main page + /contact + /about)
  • submit_form — POST/GET form data to any URL

Rate Limits

All integrations have configurable rate limits to prevent runaway spending:

Resource Default Limit
Emails 20/hour, 100/day
Payment links 10/day, $500 max per link
Gumroad products 50/day
Invoices 50/day
Bookings 20/day
Prospect searches 30/hour, 200/day
Page browses 60/hour, 500/day

ProfitEngine — Business DNA

ProfitEngine lets you define your company's business model — how it earns money, who it serves, and what matters most. This "business DNA" is injected into every agent's system prompt and into the CEO's goal loop, so all decisions align with your business model.

Setup

Start from a preset template or from scratch:

# Interactive wizard with a preset
agent-company-ai profit-engine setup --template saas

# Fully interactive — choose a template then customize each field
agent-company-ai profit-engine setup

The wizard walks you through 8 fields:

Field What it defines
Mission The company's core purpose
Revenue Streams How the company makes money
Target Customers Who the ideal customers are
Pricing Model How products/services are priced
Competitive Edge What sets the company apart
Key Metrics What metrics define success
Cost Priorities Where money should be spent first
Additional Context Any other business context

Templates

6 preset templates to start from:

Template Business Model
saas SaaS (Software as a Service) — recurring subscriptions
ecommerce E-Commerce — online retail
marketplace Marketplace / Platform — transaction fees
agency Agency / Services — project and retainer fees
consulting Consulting — advisory and engagement fees
content Content / Media — ads, subscriptions, licensing
agent-company-ai profit-engine templates  # list all templates

Commands

Command Description
profit-engine setup Interactive wizard to configure business DNA
profit-engine show Display current DNA
profit-engine edit <field> Edit a single field
profit-engine templates List available preset templates
profit-engine disable Disable DNA injection (config preserved)

How it works

Once configured, the business DNA is automatically:

  • Appended to every agent's system prompt — so developers, marketers, sales, and support all understand the business model
  • Injected into the CEO's planning and review tasks — so autonomous mode goals are planned and evaluated through the lens of your business model

The DNA is stored in config.yaml under the profit_engine key. No new database tables — just config.

# .agent-company-ai/default/config.yaml
profit_engine:
  enabled: true
  mission: "Build and scale a SaaS product..."
  revenue_streams: "Monthly/annual subscriptions..."
  target_customers: "SMB to enterprise..."
  pricing_model: "Tiered subscription pricing..."
  competitive_edge: "Product-led growth..."
  key_metrics: "MRR/ARR, churn rate, LTV:CAC..."
  cost_priorities: "Engineering first..."
  additional_context: ""

Dashboard API

Endpoint Description
GET /api/profit-engine Return current ProfitEngine config
POST /api/profit-engine Update fields and save to config
GET /api/profit-engine/templates List all templates with content

Blockchain Wallet

Built-in Ethereum wallet with multi-chain support. Agents can request payments (with human approval), and you can send tokens directly from the CLI.

Setup

agent-company-ai wallet create

Creates an encrypted keystore (password-protected). One address works across all supported chains.

Supported Chains

Chain Native Token
Ethereum ETH
Base ETH
Arbitrum ETH
Polygon MATIC

Commands

Command Description
wallet create Generate a new wallet with encrypted keystore
wallet address Show the company wallet address
wallet balance Show balances across all chains
wallet balance --chain base Show balance on a specific chain
wallet send <amount> --to <addr> --chain <chain> Send native tokens (requires password)
wallet payments Show the payment approval queue
wallet approve <id> Approve and send a pending payment
wallet reject <id> Reject a pending payment

Agent Payments

Agents with wallet tools (check_balance, get_wallet_address, list_payments, request_payment) can request payments during task execution. All payment requests go into an approval queue — nothing is sent without your explicit approval.

# Check pending payments
agent-company-ai wallet payments --status pending

# Approve a payment
agent-company-ai wallet approve abc123

# Reject a payment
agent-company-ai wallet reject abc123

Dashboard API

Endpoint Description
GET /api/wallet/balance Balances (optional ?chain= filter)
GET /api/wallet/address Wallet address
GET /api/wallet/payments Payment queue (optional ?status= filter)

Multi-Company Support

Run multiple independent companies in the same directory. Each company gets its own config, database, and agents:

# Default company
agent-company-ai init --name "Acme AI"
agent-company-ai hire ceo --name Alice

# Create a second company
agent-company-ai -C my-startup init --name "My Startup" --provider anthropic
agent-company-ai -C my-startup hire ceo --name Bob

# List all companies
agent-company-ai companies

# Destroy a company
agent-company-ai destroy --company my-startup
agent-company-ai destroy --yes  # destroy default, skip confirmation

Directory layout:

.agent-company-ai/
    default/
        config.yaml
        company.db
        invoices/
        output/
    my-startup/
        config.yaml
        company.db

Existing single-company setups are automatically migrated into default/ on first access.

Available Roles

Role Title Reports To
ceo Chief Executive Officer Owner
cto Chief Technology Officer CEO
developer Software Developer CTO
marketer Head of Marketing CEO
sales Head of Sales CEO
support Customer Support Lead CEO
finance CFO / Finance CEO
hr Head of HR CEO
project_manager Project Manager CEO

LLM Providers

Supports 11 providers out of the box. All providers include automatic retry with exponential backoff on transient errors (429, 500-503).

Provider Models API Key Env Var
Anthropic (default) Claude Sonnet 4.5, etc. ANTHROPIC_API_KEY
OpenAI GPT-4o, etc. OPENAI_API_KEY
DeepSeek DeepSeek-R1 DEEPSEEK_API_KEY
MiMo MiMo-7B-RL DEEPSEEK_API_KEY
Kimi Kimi-K2 MOONSHOT_API_KEY
Qwen Qwen-Max DASHSCOPE_API_KEY
MiniMax MiniMax-M1 MINIMAX_API_KEY
Ollama Llama 3.1, etc. None (local)
Together Llama, Mixtral, etc. TOGETHER_API_KEY
Groq Fast open-source inference GROQ_API_KEY
OpenAI-compatible Any endpoint Custom

Configure different providers per agent:

llm:
  default_provider: anthropic
  anthropic:
    api_key: ${ANTHROPIC_API_KEY}
    model: claude-sonnet-4-5-20250929
  openai:
    api_key: ${OPENAI_API_KEY}
    model: gpt-4o
    base_url: https://api.openai.com/v1  # or any compatible endpoint

agents:
  - name: Alice
    role: ceo
    provider: anthropic
  - name: Bob
    role: developer
    provider: openai

Web Dashboard

agent-company-ai dashboard --port 8420

Features:

  • Org Chart - Visual company hierarchy
  • Agent Roster - See all agents and their roles
  • Task Board - Kanban-style task management
  • Chat - Talk directly to any agent
  • Activity Feed - Real-time event stream via WebSocket
  • Autonomous Mode - Set goals and monitor progress from the UI
  • Cost Tracker - Real-time API cost breakdown by agent and model
  • ProfitEngine - View and edit business DNA from the dashboard
  • Wallet - Check balances and view payment queue

Built-in Agent Tools

Agents have access to these tools based on their role:

Core Tools

Tool Description
web_search Search the web via DuckDuckGo (no API key needed)
read_file / write_file File operations in the workspace (sandboxed)
code_exec Execute Python code (restricted builtins)
shell Run shell commands (30s timeout, dangerous patterns blocked)
delegate_task Delegate work to other agents
report_result Submit task results

Revenue Tools

Tool Description
create_payment_link Create Stripe one-time payment link
create_subscription_link Create Stripe recurring subscription link
list_subscribers List active Stripe subscribers with MRR
check_subscription_revenue Calculate MRR/ARR from Stripe subscriptions
create_gumroad_product Create a digital product on Gumroad
list_gumroad_products List Gumroad products
check_gumroad_sales Check Gumroad sales revenue
create_invoice Generate a professional HTML invoice
send_invoice Email an invoice to a client
list_invoices List invoices with status filter
mark_invoice_paid Mark an invoice as paid
create_booking_link Create a Cal.com booking event type
list_bookings List Cal.com bookings
check_booking_revenue Check booking pricing summary
check_revenue Unified revenue summary across all sources
record_revenue Manually record revenue (cash, crypto, etc.)
sync_stripe_revenue Sync Stripe charges into revenue ledger

Lead Prospecting Tools

Tool Description
prospect_search Search for companies by industry/keywords/location
enrich_contact Scrape a company's website for emails, phones, social links
prospect_campaign Full pipeline: search → enrich → CRM insert

Content Generation Tools

Tool Description
create_blog_post Markdown → styled HTML blog post with SEO meta
create_email_sequence Build email drip campaigns (onboarding, sales, nurture)
create_digital_product Multi-chapter HTML ebook/guide with TOC

Browser Automation Tools

Tool Description
browse_page Fetch URL and extract text/links/emails/meta/forms
extract_contacts_from_url Multi-page contact extraction from a website
submit_form Submit POST/GET form data to any URL

Communication & Outreach Tools

Tool Description
send_email Send transactional email (Resend/SendGrid)
create_landing_page Generate a styled HTML landing page
deploy_landing_page Deploy a landing page to Vercel
draft_social_post Draft social media content
publish_social_post Publish a tweet via Twitter API
add_contact Add a contact to the CRM
list_contacts Search and list CRM contacts
update_contact Update an existing CRM contact

Wallet Tools

Tool Description
check_balance Check wallet balance
get_wallet_address Get company wallet address
list_payments View payment queue
request_payment Request a payment (goes to approval queue)

Autonomous Mode

The company runs in CEO-driven cycles:

  1. Plan - CEO breaks the goal into tasks and delegates to the team
  2. Execute - Agents work on tasks in parallel waves
  3. Review - CEO evaluates progress and decides: DONE, CONTINUE, or FAILED
  4. Loop - Repeat until goal achieved or limits reached

When ProfitEngine is enabled, the CEO factors business DNA into every planning and review decision. Incomplete tasks are automatically cancelled (not failed) when the goal loop ends.

Configurable limits (in config.yaml or via CLI flags):

  • max_cycles: 5 — CEO review loops
  • max_waves_per_cycle: 10 — parallel execution waves per cycle
  • max_total_tasks: 50 — hard cap on tasks
  • max_time_seconds: 3600 — wall-clock timeout
  • max_cost_usd: 0.0 — spending cap (0 = unlimited)

Custom Roles

Create custom roles by adding YAML files:

# .agent-company-ai/roles/custom_analyst.yaml
name: analyst
title: "Data Analyst"
description: "Analyzes data and creates reports"
system_prompt: |
  You are a data analyst at {company_name}.
  Your expertise: data analysis, visualization, reporting.
  Team: {team_members}
  Delegates: {delegates}
default_tools:
  - code_exec
  - file_io
can_delegate_to: []
reports_to: cto

Donate

If this project is useful to you, consider supporting development:

ETH: 0x0448F896Fc878DF56046Aa0090D05Dd01F28b338

Enterprise Customization & Consulting

"We build AI agent workforce for your company"

  • Implementation fee: $10k-100k+
  • Ongoing support: $2k-10k/month

Please contact gobeyondfj@gmail.com

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

agent_company_ai-0.4.0.tar.gz (119.0 kB view details)

Uploaded Source

Built Distribution

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

agent_company_ai-0.4.0-py3-none-any.whl (157.0 kB view details)

Uploaded Python 3

File details

Details for the file agent_company_ai-0.4.0.tar.gz.

File metadata

  • Download URL: agent_company_ai-0.4.0.tar.gz
  • Upload date:
  • Size: 119.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for agent_company_ai-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5758f3bf4cae189f75619e07b70b36840f21d897f2028647408c8e76dcc642c7
MD5 83108926c41f2b4303b2cc3bcfbb050a
BLAKE2b-256 8dadaabd95fd262c3651cbcca0490a09bc3eec634fb022b776388b7a41c52b9f

See more details on using hashes here.

File details

Details for the file agent_company_ai-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_company_ai-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83be7d6aabc47ccdecdc649d9ddf0e8c76042717c11888f0bfec9aa8ef841e99
MD5 1a9c029341c7ad2da72fa5ffd2a5cff6
BLAKE2b-256 98c51e51afb26eaa5192a4105d91dc0d99bf747fa58ee599b9ae74f2ec054d38

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