> For the complete documentation index, see [llms.txt](https://docs.autommate.com/userguide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autommate.com/userguide/start-here/plan-and-verify-your-first-automation.md).

# Plan and verify your first automation

**Goal:** complete one small task with an output you can check. A read-only lookup is a useful starting point because you can verify the connection and data mapping before adding changes to another system.

### Start with a complete local example

If you are new to the builder, start with [Build a Hyperflow: prepare a service request](/userguide/build-automations/build-a-hyperflow.md). It uses fictional request data and one local String Assign action, so you can learn the creation and inspection workflow before setting up an external connection.

{% code collapsedlinecount="10" %}

```mermaid
flowchart LR
    A[Create Hyperflow] --> B[Add String Assign]
    B --> C[Define request_summary]
    C --> D[Save and run]
    D --> E[Inspect actual action output]
```

{% endcode %}

You will create `Docs - Request intake - 20261013` and produce:

{% code collapsedlinecount="10" %}

```
REQ-DEMO-001 | VPN access | Maya Chen
```

{% endcode %}

Follow the tutorial screenshots to create the flow, configure the variable and action, and inspect the run output. The example run produced this exact string. It prepares request data; creating a ticket or provisioning VPN access is a separate integration step.

<figure><img src="https://3857940684-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJcSHU5jP5GABQrGmWvW2%2Fuploads%2FQqPLWj73EXqETRb2mhof%2F06-verified-output.jpg?alt=media" alt="The completed local example shows the sample request summary in the action&#x27;s Output Preview."><figcaption><p>Open Output and compare Preview with the exact request-summary text.</p></figcaption></figure>

After completing it, use the checklist below for your first connected automation. Begin with a known read-only test record, inspect the exact response and only then add updates or create operations.

### 1. Define the contract

Write down the following before opening the builder:

| Question                       | Illustrative answer                                                                       |
| ------------------------------ | ----------------------------------------------------------------------------------------- |
| What starts the task?          | An explicit request with a known test Request ID.                                         |
| What input is required?        | The Request ID for the selected system.                                                   |
| What action is needed?         | Read that record.                                                                         |
| What output matters?           | The returned ID and the fields needed for the next decision.                              |
| What proves success?           | The returned ID matches the supplied test ID and the expected test record.                |
| What happens if it is missing? | Return an explicit not-found result; do not create a new record as an automatic fallback. |

Adapt this contract to the selected application action. Use its actual input names, types and required values.

### 2. Build the smallest path

Open **Build → Hyper Flows**. Create or select the intended automation, add the read action, and select the correct application credential. Begin with a fixed test identifier, then inspect the output before replacing it with an input variable.

Follow [actions and data mapping](/userguide/build-automations/configure-actions-and-map-data.md) for the data path and [apps and authentication](/userguide/integrations-and-api/apps-connections-and-authentication.md) for the connection.

### 3. Test more than the happy path

| Test                                    | Expected property                                            |
| --------------------------------------- | ------------------------------------------------------------ |
| Known valid test identifier             | Correct record and useful output.                            |
| Missing required input                  | Clear validation or error behavior.                          |
| Identifier that does not match a record | Explicit absence, not a fabricated result.                   |
| Restricted or unavailable connection    | Failure is visible and distinguishable from an empty result. |

Record the test input, automation version, run identifier and actual output. Compare that output with the expected record or value before expanding the flow.

### 4. Expand deliberately

Once the read path works, introduce one change at a time. Define duplicate handling before adding create/update actions. For service delivery, use a released Work Item version and define the outcome and proof separately. For AI access, add only the skills or tools needed for the task.

Continue with [versions and dependencies](/userguide/build-automations/manage-versions-and-dependencies.md) or [the service model](/userguide/service-automation/understand-the-service-model.md).
