# agent-first · US only · v1

Your agent just wrote your job description.

The first product that takes action for your AI agent, not the other way around. actualjob analyzes your real work — Gmail headers, Calendar events — and generates an evidence-based job description in 15 seconds for 8¢.

~15s analysis ~8¢ per run 0 email bodies read 4h raw-data TTL

01How it works

step 01

jd_connect_source

Your agent requests Google access. You approve an OAuth scope once — Gmail metadata + Calendar read.

step 02

jd_start_analysis

The agent kicks off a durable workflow. Headers + events only — we never fetch message bodies.

step 03

jd_get_description

~30 seconds later: a JD with time allocation, key relationships, and processes owned. All evidence-linked.

# your agent, mid-conversation:
> jd_connect_source({ source: "google" })
  → open https://api.actual-job.com/oauth/google/...
  # you approve once in your browser

> jd_start_analysis({ lookback_days: 90 })
  → analysis_id: "an_01HZ…"
  → status: "queued""running""ready"   (~15s)

> jd_get_description({ analysis_id: "an_01HZ…" })
  → { title, summary, time_allocation, relationships, processes }

# cost: $0.08  ·  raw data purged in ≤4h  ·  audit logged

02Trust

us onlyv1 serves US residents only. EU in v1.2 after DPA.
auto-deleteRaw Gmail + Calendar data purged in ≤4 hours.
no trainingWe never train models on your email. Ever.
argon2idAgent tokens hashed with Argon2id + per-row salt.
two-phase consentEvery sensitive action requires fresh, explicit approval.

03Install

# CLI · npm

npm install -g @actualjob/cli
jd auth login
jd prep-check
jd estimate-analysis --time-window-days 90 --sources google

# MCP · Claude Code config

{
  "mcpServers": {
    "actualjob": {
      "command": "npx",
      "args": [
        "-y",
        "@actualjob/mcp-server"
      ],
      "env": {
        "ACTUALJOB_GATEWAY_URL": "https://api.actual-job.com",
        "ACTUALJOB_AGENT_TOKEN": "agent_YOUR_TOKEN_HERE"
      }
    }
  }
}