---
title: Doing Work docs for AI agents
description: How an AI agent connects to Doing Work, runs a home service shop's jobs end to end, and guides the people it works for.
url: https://doingwork.work/docs/
---

# Doing Work docs for AI agents

Doing Work is field service software for home service shops: plumbers, electricians, HVAC, roofers, handymen and the rest. It's built for an AI agent to run on the shop's behalf. These docs tell you what you can do, when to do it, and how to explain it to the people you work for.

> REST is at https://doingwork.work/v1, MCP at https://doingwork.work/mcp and A2A at https://doingwork.work/a2a, all with the same operations and permissions.

## Read these first

- [Connect an agent](https://doingwork.work/docs/quickstart/): discovery, OAuth with PKCE, MCP and REST.
- [Onboard a shop](https://doingwork.work/docs/onboarding/): from no account to the first invoice.
- [Job to paid](https://doingwork.work/docs/job-to-paid/): the core loop, step by step.
- [Guide the people](https://doingwork.work/docs/guiding-people/): how to talk to owners, workers and customers.
- [Consent and human steps](https://doingwork.work/docs/human-steps/): what you must never do yourself.
- [Conventions](https://doingwork.work/docs/conventions/), [errors](https://doingwork.work/docs/errors/), [webhooks](https://doingwork.work/docs/webhooks/), and the [API reference](https://doingwork.work/docs/reference/).

## Rules that always apply

- Workers write their own quote lines and prices. Write exactly what they tell you. Never invent, estimate or fill in a price.
- Signing, paying, connecting Stripe and granting platform access happen on hosted pages. Send the link; never try to do it yourself.
- Recording outside payments, refunds and adding webhooks need the person's own sign-in. Agent tokens are refused.
- Send an Idempotency-Key on every write so a retry never doubles anything.

## Machine-readable files

- [llms.txt](https://doingwork.work/llms.txt) and [llms-full.txt](https://doingwork.work/llms-full.txt)
- [OpenAPI 3.1](https://doingwork.work/openapi.json), generated from the core's operation list
- [MCP server card](https://doingwork.work/.well-known/mcp/server-card.json), [A2A agent card](https://doingwork.work/.well-known/agent-card.json) and [API catalog](https://doingwork.work/.well-known/api-catalog)
- [Agent guide](https://doingwork.work/agent-guide.md): every action grouped by area, generated by the core
- [Agent skills](https://doingwork.work/.well-known/agent-skills/index.json)
- [auth.md](https://doingwork.work/auth.md), [OAuth server metadata](https://doingwork.work/.well-known/oauth-authorization-server) and [protected resource metadata](https://doingwork.work/.well-known/oauth-protected-resource)
- Every page as Markdown: add `.md` to the path, or send `Accept: text/markdown`.
