> ## Documentation Index
> Fetch the complete documentation index at: https://docs.guidinghand.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GuidingHand

> Run support tasks on your customer's Mac or PC with an AI agent, through one link and a small HTTP API.

GuidingHand puts an AI agent on a customer's computer. Your support team, or your own AI agent, creates a **session** through the API and sends the customer its invite link. The customer installs the GuidingHand app and connects. You then start **tasks** in plain language ("Turn on Dark Mode", "Reconnect the printer"), and the agent does them on the customer's screen while you follow along.

Nobody drives the mouse by hand. You describe the outcome; the agent operates the computer. The customer watches it happen, keeps a **Stop** button on screen the whole time, and can answer the agent's questions and approve consequential steps right there (or leave them to your team).

If you have used a voice-agent API such as Retell, the shape will feel familiar: an **agent** is a configuration object, and a **session** is like a call.

## The 60-second model

```mermaid theme={null}
sequenceDiagram
    participant You as Your system
    participant API as GuidingHand API
    participant Cust as Customer
    participant App as GuidingHand app
    participant Agent as Agent

    You->>API: POST /v1/sessions
    API-->>You: code + invite_url
    You->>Cust: Send the invite link (chat, email, ticket)
    Cust->>App: Opens the link, installs the app, clicks Connect
    App->>API: Connects with the code
    API-->>You: session.connected (webhook), status: connected
    You->>API: POST /v1/sessions/{session_id}/tasks
    API->>Agent: Run the task with your agent's instructions
    loop Until the task is done
        Agent->>App: Screenshot, click, type
        App-->>Agent: What the screen shows now
        Agent-->>API: Events (progress, action, question, ...)
        You->>API: GET /v1/tasks/{task_id}/events?wait_ms=25000
        opt The agent needs a person
            API-->>You: task.pending (and a task.waiting_for_* webhook)
            alt A question or approval the customer can decide
                Cust->>App: Answers or approves it on their screen
            else Your team answers or decides
                You->>API: POST /v1/tasks/{task_id}/respond
            end
        end
    end
    Agent-->>API: Finished with a summary
    API-->>You: task.completed (webhook), result, replay_url
```

The pieces:

* **Agent**: your org's configuration. Instructions, reasoning effort, a greeting for the invite page, and what the customer sees and may answer on their screen, layered under GuidingHand's own safety rules. Every org has a `default` agent. See [Agents](/concepts/agents).
* **Session**: one pairing code and its invite link, for one computer. See [Sessions](/concepts/sessions).
* **Task**: one job in plain language on that computer. It produces events, may ask a question or an approval, and ends with a `result`. See [Tasks](/concepts/tasks).
* **Recording**: every screen the agent looked at, kept for replay in the console. See [Recordings](/concepts/recordings).

## What you need

* A GuidingHand account. Sign in with Google at [guidinghand.ai/console](https://guidinghand.ai/console). New orgs start on the free plan with free agent minutes and no card.
* An org API key (`gh_live_…`) from **Settings → API keys** in the console.
* A customer on macOS or Windows who can open a link and click **Connect**. They never need an account.

## Where to go next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Create a session, run a task and read its result in cURL, Node or Python.
  </Card>

  <Card title="Tasks" icon="list-check" href="/concepts/tasks">
    Statuses, events, questions and approvals.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/guides/webhooks">
    Get told when a computer connects or a task needs a person.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/introduction">
    Every endpoint, generated from the OpenAPI spec.
  </Card>
</CardGroup>
