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

> ## Agent Instructions
> For API operations, fetch https://gateway.firsttouch.ai/api/public/openapi.json for the complete input/output schemas, internal references, and x-mcp-annotations. Endpoint Markdown intentionally omits generated schema fragments. Select /api/public/tools/<tool_name> using the exact underscore-separated name. Send requests to https://gateway.firsttouch.ai; the canonical document currently omits servers. Start at https://docs.firsttouch.com/api-reference/agent-start.md.

# Agent Start Here

> Choose a FirstTouch workflow, load its contract, and make your first API call.

FirstTouch lets agents inspect and manage outbound workflows: find contacts, build Audiences and Flow Plans, add outreach steps, review tasks, and inspect results. Start by checking the current user and team, then load the guidance and operation schema for the requested workflow.

## Choose A Connection

| Connection      | Endpoint                                                     | Authentication                                                                                | Request format                                                     |
| --------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| Public HTTP API | `https://gateway.firsttouch.ai/api/public/tools/<tool_name>` | `X-API-Key`                                                                                   | `POST` with a JSON object containing the operation's input fields. |
| MCP             | `https://mcp.firsttouch.ai`                                  | Browser OAuth, or a Public API key in a compatible client's secure `X-API-Key` configuration. | Use the MCP client's tool interface with the same operation names. |

Use the [HTTP quickstart](/api-reference/quickstart) for server integrations or [MCP connection setup](/WebApp/Mcp/connect) for an assistant. Public API keys belong to their creator and are fixed to the team selected at creation. Store credentials in a secrets manager or secure client configuration, never in prompts or documentation.

## Load Only What You Need

1. Read the [operation catalog](https://docs.firsttouch.com/api-reference/operation-catalog.md) to find the exact tool name and endpoint page.
2. Read the selected operation's description, prerequisites, input schema, and response schema in the [canonical OpenAPI document](https://gateway.firsttouch.ai/api/public/openapi.json). The HTTP path is `/api/public/tools/` followed by the exact tool name, including underscores.
3. Read the matching `get_guide` topic before starting that workflow. For a broader overview of agent behavior, use the [FirstTouch agent guide](https://docs.firsttouch.com/.well-known/agent-skills/firsttouch/skill.md).

The catalog contains direct Markdown links for every operation. Use the canonical OpenAPI document to resolve schema references and inspect `x-mcp-annotations`. Descriptions can specify constraints that are not expressed as schema keywords. An empty response schema does not define an empty response; do not invent fields, status values, or retry guarantees where the contract leaves them unspecified.

## Make Your First Call

Call `get_current_user` with `{}`. Follow the [quickstart](/api-reference/quickstart) for complete curl and PowerShell requests and response interpretation. Then follow its [read-only workflow](/api-reference/quickstart#verify-a-read-only-workflow) to load a guide, page through Flow Plans, and inspect an existing plan.

Check `isAuthenticated`, `userId`, `teamId`, `permissions`, and `warnings` before selecting resources or making changes. A successful identity check does not establish access to every operation: review the requested operation's role, plan, sender, and credit requirements. Use `get_auth_scopes` for current capabilities and `list_team_members` when resolving a sender.

## Choose The Workflow

| User intent                         | Starting operations                                                                                 | Guide topic                                      |
| ----------------------------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------ |
| Follow up with one person           | `find_contact_data`, `find_mcp_enrollment`, then `add_dynamic_action` after the required preflight. | `dynamic_actions`                                |
| Find new contacts                   | `discover_contacts`; preview before expanding a charged search.                                     | `contact_discovery`                              |
| Build or select a list              | `list_audiences`, `create_audience`, or `create_audience_from_profiles`.                            | `audience_management`                            |
| Build reusable outreach for a group | `list_flow_plans`, `create_flow_plan`, `get_flow_workspace`.                                        | `flow_plan_creation`                             |
| Start or inspect contacts in a flow | `list_flow_plan_enrollments`, `get_flow_enrollment`, `enroll_awaiting_flow_items`.                  | `enrollment_management`                          |
| Review or approve a task            | `list_user_tasks`, then `preview_task` before an authorized `complete_task`.                        | `tasks_and_approvals`                            |
| Resolve a person or sender          | `find_contact_data`, `get_current_user`, `list_team_members`.                                       | `contact_identity` or `senders_and_capabilities` |

These are starting points, not complete request bodies. Use the linked catalog and each operation's schema for its required inputs. `get_guide` also accepts `overview`, which is the default topic. For example, send this body to `/api/public/tools/get_guide`:

```json theme={null}
{"topic":"dynamic_actions"}
```

## Understand The Objects

| Object         | Meaning                                                                         |
| -------------- | ------------------------------------------------------------------------------- |
| Audience       | A list or source of contacts for a workflow.                                    |
| Flow Plan      | A reusable workflow definition with actions, sources, and publication settings. |
| Enrollment     | A contact's participation in a workflow.                                        |
| Dynamic Action | One action step for one contact, created in an MCP Dynamic Actions enrollment.  |
| Task           | Human work or an approval associated with a workflow action.                    |

Use returned IDs when moving between operations. Do not substitute display names for IDs. Adding an action, creating a task, approving it, and confirming execution are distinct steps.

## Before Actions Or Credit Spend

* Follow the operation's prerequisites and the user's requested scope. Resolve the contact, sender, and team before outreach.
* For Dynamic Actions, load `get_guide` with `topic=dynamic_actions`, perform the documented contact and enrollment checks, resolve the assigned sender, and ensure the effective identity includes both first and last name. Ask for missing names instead of automatically enriching.
* Check current costs with `get_feature_costs` and credit context with `get_credits_usage` when needed. A read operation can consume credits; a read-only annotation does not mean free.
* Review changes and obtain any confirmation required by the workflow. Creating an approval task does not authorize completing it.
* Preserve returned identifiers and inspect the result before reporting completion. Follow [execution and recovery](/api-reference/execution-and-recovery) for pending tasks, failed imports, and ambiguous sends.
