# GuidingHand > Put an AI agent on your customer's Mac or PC with one link, and run support tasks on it through an API. - [GuidingHand](https://docs.guidinghand.ai/index.md): Run support tasks on your customer's Mac or PC with an AI agent, through one link and a small HTTP API. - [Quickstart](https://docs.guidinghand.ai/quickstart.md): Create a session, send the invite link, run a task on the customer's computer and read the result. - [JavaScript and TypeScript](https://docs.guidinghand.ai/sdks/javascript.md): The guidinghand package for Node, Deno, Bun and edge runtimes. - [Python](https://docs.guidinghand.ai/sdks/python.md): The guidinghand package for Python 3.9+, sync and async. - [Agents](https://docs.guidinghand.ai/concepts/agents.md): An agent is your org's configuration for the AI: instructions, reasoning effort, a greeting, and what the customer sees, may answer and may approve. - [Sessions](https://docs.guidinghand.ai/concepts/sessions.md): A session is one pairing code and its invite link, for one customer's computer. - [Tasks](https://docs.guidinghand.ai/concepts/tasks.md): A task is one job in plain language, run by the agent on a connected computer. - [Recordings](https://docs.guidinghand.ai/concepts/recordings.md): Every screen the agent looked at, kept so you can replay a task. - [Orgs, people and API keys](https://docs.guidinghand.ai/concepts/orgs.md): Orgs own agents, sessions, tasks and billing. People belong to orgs with a role; integrations use an org API key. - [Webhooks](https://docs.guidinghand.ai/guides/webhooks.md): Get a signed POST when a computer connects or disconnects, and when a task starts, needs a person, gets an answer or ends. - [Drive GuidingHand from your AI agent](https://docs.guidinghand.ai/guides/ai-agents.md): Give your own LLM support agent tools to start, follow and stop tasks on the customer's computer. - [Errors, pagination and limits](https://docs.guidinghand.ai/guides/errors.md): The error shape, what each status means and how to fix it, paging through lists, and rate limits. - [API reference](https://docs.guidinghand.ai/api-reference/introduction.md): Base URLs, authentication and versioning for the GuidingHand API. - [List agents](https://docs.guidinghand.ai/api-reference/agents/list-agents.md): Every org has a `default` agent, even before it is customized. - [Create an agent](https://docs.guidinghand.ai/api-reference/agents/create-an-agent.md) - [Get an agent](https://docs.guidinghand.ai/api-reference/agents/get-an-agent.md) - [Delete an agent](https://docs.guidinghand.ai/api-reference/agents/delete-an-agent.md): Sessions made with it switch to the default agent. Deleting `default` resets it to GuidingHand’s own instructions. - [Update an agent](https://docs.guidinghand.ai/api-reference/agents/update-an-agent.md): Send only the fields to change. - [List sessions](https://docs.guidinghand.ai/api-reference/sessions/list-sessions.md) - [Create a session](https://docs.guidinghand.ai/api-reference/sessions/create-a-session.md): Makes a pairing code and its invite link. Send the `invite_url` to the person at the computer: it walks them through installing GuidingHand and connecting. Codes expire after 72 hours without use. - [Get a session](https://docs.guidinghand.ai/api-reference/sessions/get-a-session.md) - [Delete a session](https://docs.guidinghand.ai/api-reference/sessions/delete-a-session.md): Disconnects the computer, stops a running task, and deletes the session’s tasks, events and recordings for good. - [Start a task](https://docs.guidinghand.ai/api-reference/tasks/start-a-task.md): Starts a task on the session’s computer, which must be connected (`status: connected`). One task runs at a time per computer. - [List tasks](https://docs.guidinghand.ai/api-reference/tasks/list-tasks.md) - [Get a task](https://docs.guidinghand.ai/api-reference/tasks/get-a-task.md) - [Follow a task](https://docs.guidinghand.ai/api-reference/tasks/follow-a-task.md): Events after `after`. With `wait_ms`, waits for the next event (long poll). Call again with the returned `cursor` until `task.done` is true, answering `task.pending` when it is set. - [Answer a question or approval](https://docs.guidinghand.ai/api-reference/tasks/answer-a-question-or-approval.md): When `task.pending.type` is `question`, send its `question_id` and your `answer`. When it is `approval`, send its `approval_id` and a `decision`. When the person at the computer can answer or decide it too (`pending.customer_can_answer`, `pending.customer_can_approve`), the first one is used: a late… - [Stop a task](https://docs.guidinghand.ai/api-reference/tasks/stop-a-task.md) - [Get a task recording](https://docs.guidinghand.ai/api-reference/tasks/get-a-task-recording.md): The screens the agent saw, in order, with their time from the start of the task. The console replays them with the agent’s cursor at `replay_url`. - [Get a recorded screen](https://docs.guidinghand.ai/api-reference/tasks/get-a-recorded-screen.md) - [Get the webhook endpoint](https://docs.guidinghand.ai/api-reference/webhooks/get-the-webhook-endpoint.md) - [Set the webhook endpoint](https://docs.guidinghand.ai/api-reference/webhooks/set-the-webhook-endpoint.md): Only the fields you send change: without `url` the endpoint stays, without `events` the filter stays (so `{ "rotate_secret": true }` alone just makes a new secret). Send `{ "url": null }` to remove the endpoint. The signing secret is returned when it is first made (or with `rotate_secret`), never ag… - [Webhook event](https://docs.guidinghand.ai/api-reference/webhook-event.md): Sent to your endpoint with a `GuidingHand-Signature: t=,v1=` header: the HMAC-SHA256 of `.` with your secret. Retried up to 4 times over about 3 minutes until you answer 2xx. ## OpenAPI Specs - [openapi](/api-reference/openapi.json)