Can an AI agent use Copper (copper.com)?

As of 2 Oct 2026, an AI agent can't reliably get into Copper on its own, but once it is in it does 56% of the core work.

Level 1 · Needs a personAgents can't get in on their own.
  • Find: Some docs for agents: llms.txt.
  • Access: Can't sign up.
  • Use: 56% of the work.
  • Pay: Reaches the checkout: Stopped at the card form.
  • Leave: Nothing to cancel: Can't delete its account.

To reach L3 · Does the work: let an agent sign up on its own.

Our drives since 11 Oct 2026 stopped at sign-up: our agent followed this robots.txt rule until 15 Oct 2026, and the next drive goes past it. The level is from the drive of 2 Oct 2026.

With an account set up by a person: not measured yet.

What the levels mean

Driven 2 Oct 2026New level in the latest driveRules of 15 Oct 2026Claim this page

Written by our agents from this drive. How we write.

Who gets in

  • Agents on a serverCan't get in on their own.
  • Signed agentsThe sign-up page opens.
  • Agents in a person's browserNot measured yet.

Sign-up page checked 15 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from

What an agent can do in Copper (copper.com).

On its own

  • Create and update contacts and companies, then find and remove them later
  • Move a sales deal through stages and mark it won or lost
  • Create and complete follow-up tasks tied to a deal
5 more
  • Log calls and notes and read a combined activity timeline
  • Add custom fields and tags to records and filter by them
  • Set up a task that automatically fires when a deal is marked won
  • Set a deal's currency
  • Turn notifications on or off for record changes

What it can't, and why

  • Sign up for an account on its ownthe sign-up page only offers 'Continue with Google'
  • Get an API key without a browserkeys can only be generated from a settings page
  • Send or sync email through the productemail features require a connected Gmail account
4 more
  • Move a delivery project through its stagesthe documented project feature only has open/closed, not stages
  • Pull a sales reportno reporting endpoint exists, only a dashboard in the app
  • Create a lead-capture web formthe form builder did not respond to automated use, and there's no API for it
  • Delete the accountno delete option exists in settings or via the API
Blocked

Can an AI agent sign up for Copper on its own?

No. Sign-up: blocked. Every visible sign-up (www.copper.com/signup, app.copper.com/users/sign_up) offers only 'Continue with Google' ('Copper only works with Gmail & Google Workspace'). An agent without a Google account cannot start the trial through the UI. No CAPTCHA seen.

No MCP server found

Does Copper (copper.com) have an MCP server, and can an agent connect to it?

No. The drive found no MCP server for Copper.

A new agent can't get in on its own: in the drive of 2 Oct 2026, our agent stopped at sign up (it was blocked).

What the drive found

API–OpenAPI–MCP–CLI–SDKllms.txtWebhooks–Sandbox
On its own, in a browser

How does an AI agent get a Copper (copper.com) API key?

In the drive of 2 Oct 2026, our agent got its Copper API key in a browser, without a person. Settings > Integrations > API Keys > Generate API Key (UI only; onboarding wizard must be skipped first). No API to mint keys; OAuth apps need Copper's approval.

No account to delete

Can an AI agent delete its Copper account?

Not applicable: our agent used Copper without an account.

Reaches the checkout

Can an AI agent pay for Copper?

Reaches the checkout: stopped at the card form.

No card needed to start.

What would let agents pay on their own
  1. Accept x402 or MPP on your API. Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.Step-by-step guide
  2. List your plans on Stripe Projects. Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).Step-by-step guide

No 402/x402/MPP/L402, no UCP or agent-registration metadata, not in x402 Bazaar or mpp.dev. Buying is an in-app card form (#/purchase/purchase-plan/activate: card number, CVC, expiry, billing address, authorize checkbox) that an agent with a card could fill on its own; 3DS behaviour unknown since we entered no card. No billing API. Trial: 14-day Business plan without a card.

From the drive of 2 Oct 2026.

For the team behind Copper.

Where agents stop in Copper (copper.com) today, and the fixes that get them further, highest impact first.

Stops at sign up

The fixes, highest impact first

  1. Show the email sign-up form you already supportStep-by-step guide
  2. Let agents mint API keys after sign-upStep-by-step guide
  3. Publish an OpenAPI file and llms.txt API linksStep-by-step guide
3 more fixes
  1. Document the MCP endpoint with OAuth discovery Step-by-step guide
  2. Expose pipeline-based projects in the API
  3. Add a self-serve delete-account path
  • Claim it free and reply next to the result.
  • A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
  • Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
See the example report
Details

Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.

Already claimed it? Open it in your dashboard.

Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.

Embed the badge on your site

Driven · L1 · Needs a person badge

Behind the level.

The part scores and the measures behind them.

Part scores and the measures · level history

Part scores

Agent-ready setup

  • llms.txt: found
  • OpenAPI: not found
  • MCP server: not found
  • CLI: not found

Not measured in this drive: Holds up, Docs match (part of an Audit).

The measures

  1. Work done56
  2. Reliability100
  3. Crash test–

Level history

  1. 1 Oct 2026L4Runs on its own
  2. 2 Oct 2026new driveL1Needs a person

Not in this history: our drives since 11 Oct 2026, stopped at sign-up by a robots.txt rule our agent followed until 15 Oct 2026.

For agents and builders.

The drive as data, every checkpoint and all 29 attempts.

How an agent connects · 7 tips
  • Use the REST API with three headers: X-PW-AccessToken, X-PW-Application: developer_api, X-PW-UserEmail.
  • Search endpoints lag a few seconds behind writes; read by id (GET /x/{id}, fetch_by_email) to verify.
  • A new account has no pipeline until the first opportunity is created; POST /opportunities without pipeline_id creates a default one.
  • Custom field data types are String, Text, Dropdown, Date, Checkbox, Float, URL, Percentage, Currency, MultiSelect ('Number' gives 422).
  • Leads are off by default (403 'Feature not enabled').
  • Automations exist only in the UI; build them in the browser and drive them via the API.
  • In the web app every hash-route modal must be driven in one browser session; custom dropdowns are plain <li> lists.
Every checkpoint, in detail · 9 checkpoints
  1. DocsHeadlessdeveloper.copper.com: full REST reference (people, companies, leads, opportunities, projects, tasks, activities, custom fields, related items, tags, webhooks, file upload). llms.txt exists but is marketing text. No OpenAPI file found.
  2. Sign upBlockedEvery visible sign-up (www.copper.com/signup, app.copper.com/users/sign_up) offers only 'Continue with Google' ('Copper only works with Gmail & Google Workspace'). An agent without a Google account cannot start the trial through the UI. No CAPTCHA seen.
  3. VerifyIn a browserReached via the internal email sign-up: confirmation mail from notifier@copper.com arrived in ~5 s (read headless); the link opens a 'Set your password' form, filled in the browser.
  4. KeyIn a browserSettings > Integrations > API Keys > Generate API Key (UI only; onboarding wizard must be skipped first). No API to mint keys; OAuth apps need Copper's approval.
  5. First callHeadlessGET /developer_api/v1/account 200 with X-PW-AccessToken, X-PW-Application, X-PW-UserEmail headers
  6. First actionHeadlessPOST /companies and /people 200, read back with GET
  7. PayIn a browserNo 402/x402/MPP/L402, no UCP or agent-registration metadata, not in x402 Bazaar or mpp.dev. Buying is an in-app card form (#/purchase/purchase-plan/activate: card number, CVC, expiry, billing address, authorize checkbox) that an agent with a card could fill on its own; 3DS behaviour unknown since we entered no card. No billing API. Trial: 14-day Business plan without a card.
  8. CancelNot neededNothing to cancel: our agent started no paid plan.
  9. DeleteBlockedNo delete-account control in Settings and no API; help center only covers deleting users and records. All records we created were deleted via API; the trial workspace remains until it expires.
The attempt log · 29 attempts
Attempt log
CapabilityRouteResultEvidence
find docs: Find developer docs, llms.txt, discovery filesapidone ✓developer.copper.com 200 (REST API docs); www.copper.com/llms.txt 200 (marketing summary, mentions REST API+OAuth); no .well-known oauth/ucp, no SKILL.md/auth.md; x402./mpp./agents. subdomains do not resolve
sign up: Start the 14-day free trial (no card) via the public sign-up pagebrowserblocked ✓www.copper.com/signup and app.copper.com/users/sign_up only offer 'Continue with Google' (Google OAuth); page text: 'Copper only works with Gmail & Google Workspace.' No email/password form rendered. We hold no Google account.
verify email: Confirm email from the agent's inbox and set the passwordbrowserdone ✓'Confirm Your Email Address' from notifier@copper.com arrived in ~5s; link -> /users/confirmation?confirmation_token=•••• -> 'Set your password' form; after submit landed in app.copper.com/companies/621205/app#/welcome with '14 days left in your Business plan trial'
get API key: Generate an API keybrowserdone ✓Settings > Integrations > API Keys > 'Generate API Key' showed a 32-hex key in the table
first API call: GET /account and /users/meapidone ✓GET /developer_api/v1/account 200 {id:621205,name:"AgentDrives Test's Company"}; /users/me 200 id 1427486
Add and manage a contact (person or company): Create company + person linked to it, update title, read back, search, delete a temp personapidone ✓POST /companies 200 id 77690226; POST /people 200 id 185824919 company_id 77690226; PUT title -> GET shows 'Head of Buying', company_name 'AgentDrives Demo Co'; DELETE /people/185824921 -> {is_deleted:true}, GET -> 404
first real action: Create a company via APIapidone ✓POST /companies 200 id 77690226, read back via GET /people/185824919 company_name
Create and track a sales opportunity through pipeline stages: Create opportunity 'AgentDrives pilot' in stage Lead, move to Proposalapidone ✓POST /opportunities 200 id 39272158 stage 5217782; PUT pipeline_stage_id 5217783; GET shows 5217783; activity feed shows system 'Stage Change' on the opportunity
Mark a deal as won/lost: Mark pilot Won and demo deal Lostapidone ✓PUT status Won -> GET status 'Won'; PUT /opportunities/39272157 status Lost -> 'Lost'; POST /opportunities/search status_ids [1] returns 'AgentDrives pilot'
Convert a closed deal into a delivery project: Turn won deal into a projectapipartial ✓No convert endpoint. Workaround: POST /projects 200 id 1673298 then POST /opportunities/39272158/related {project} -> added:true; GET related/projects lists it
Manage a project through its pipeline (create, move stage, close): Create project, close itapipartial ✓POST /projects 200 id 1673298 status Open; PUT status Completed -> 200 status 'Completed'
Assign and complete a task or follow-up: Create a high-priority task on the deal assigned to me, complete itapidone ✓POST /tasks 200 id 60397516 related opportunity 39272158 assignee 1427486; PUT status Completed; GET status 'Completed'; feed shows system Status Change on task
Add custom fields to a record type: Create Float field 'Agent score' on person+opportunity and set itapidone ✓POST /custom_field_definitions 200 id 770759; PUT /people/185824919 custom_fields value 42 -> returned value 42.0
Tag, label and filter records: Tag Dana 'vip' and filter people by tagapidone ✓PUT tags ['agentdrives','vip'] 200; POST /people/search {tags:['vip']} returned 'Dana Demo' (empty on first try ~seconds after write)
View a unified activity feed across contacts/deals/projects: Log a phone call on person and a note on deal; read the feedapidone ✓POST /activities 200 ids 13475828083, 13475828116; POST /activities/search lists both plus system events for task, project, opportunity
Log calls and SMS automatically via the mobile app: Log a phone call activityapipartial ✓Phone Call activity type 2401715 logged via POST /activities; automatic mobile logging not testable headless
Invite and collaborate with teammates on shared records: List usersapipartial ✓POST /users/search 200 returns 1 user; no documented API to invite users
Set multi-currency on opportunities: Set deal currency to EURapidone ✓PUT monetary_unit EUR 200 -> monetary_unit 'EUR' (converted_unit USD)
Build a custom report on pipeline/revenue/activity: Fetch a report via APIapifailed ✓GET /reports/activities, /report/activities, /reports/opportunities -> 404 not_found; developer.copper.com has no reports section
Send and sync email through Gmail inside Copper: Send/sync an emailnoneblockedEmail send/sync requires connecting a Google account (Gmail); our identity is an email-only account with no Google account. API has no send-email endpoint.
Subscribe to record-change webhooks: Create, list, delete a webhook on opportunity updateapidone ✓POST /webhooks 200 id 561159; GET lists it; DELETE 200; GET []
Capture a lead from an embedded website contact form: Create a 'Create or update people' web form in Forms and submit itbrowserfailed ✓Forms page renders, but clicking the 'Create or update people' card (by text, ancestor element, and coordinates) did nothing; Playwright click timed out after 20s (element not actionable); no popup, no navigation. No documented forms API.
buy the product: Probe agent payment rails and the purchase path (no payment made)browserblocked ✓No 402/x402/MPP/L402: unauthenticated API -> 401 {error:'authentication error'}; x402./mpp./agents.copper.com do not resolve; no /.well-known/ucp or oauth metadata; not listed in x402 Bazaar or mpp.dev. Purchase = in-app page #/purchase/purchase-plan/activate with card number/CVC/expiry/billing address form + authorize checkbox; no billing API documented.
Automate a stage-triggered email or task (pipeline/workflow automation): Task automation: when a pipeline record's status changes to Won, create task 'Kick off delivery project'; then win a deal via APIbrowserdone ✓Automations > Task Automations > Add new (Pipeline record / Status is changed to / Won) saved -> list shows 'Pipeline records (1)'. PUT /opportunities/39272229 status Won via API -> GET /opportunities/39272229/related/tasks returns task 60397657; GET /tasks/60397657 name 'Kick off delivery project'
Send a bulk/mass email to a filtered list of contacts: Select people in the People list and open the bulk 'Email' action (to our own inbox only)browserfailedPeople list: selecting Dana Demo shows toolbar 'Edit | Email | Export'; our scripted click landed on a column header instead and the composer never opened in 4 attempts. No documented API for bulk email.
delete created records: Delete every record created via APIapidone ✓[('/tasks/60397516', 200), ('/tasks/60397657', 200), ('/opportunities/39272158', 200), ('/opportunities/39272157', 200), ('/opportunities/39272229', 200), ('/projects/1673298', 200), ('/activities/13475828083', 200), ('/activities/13475828116', 200), ('/people/185824919', 200), ('/companies/77690226', 200), ('/custom_field_definitions/770759', 200)]; GETs after -> 404
cancel plan: Find how to cancelnoneskippedNo paid plan started (14-day trial, no card) so nothing to cancel. Help article 'Cancel Subscription': Settings > Billing > 'Request Cancellation' (account owner) sets cancel at next renewal, or billing support via chat/support@copper.com (up to 24h). No billing API documented.
delete account: Delete the account and its databrowserblocked ✓Settings menus (Google Sync, Manage Your Data: Import/Export, Personal Preferences, Users, Customization, Integrations: API Keys, Security: SSO, Billing & Upgrade) show no delete-account control; help center search 'delete account' only covers deleting users/records; no API endpoint. All records created were deleted via API (see cleanup).
Create and track a sales opportunity through pipeline stagesapidone ✓POST /opportunities pipeline 1161227 stage 5217779 -> id 39272254; PUT stage 5217780; GET pipeline_stage_id 5217780; deleted