# 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"
}
}
}
}