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

# Assign a checklist to a visit

> Attach the right form to an appointment so it matches the right equipment

export const Touches = ({systems}) => <p>
    <strong>Systems involved:</strong>{" "}
    {systems.split(",").map((s, i) => <span key={s}>
        {i > 0 ? " · " : ""}
        <a href={"/systems/" + s.trim()}>{s.trim().replace(/-/g, " ")}</a>
      </span>)}
  </p>;

<Touches systems="zoho-crm, supabase-backend, the-7am-app" />

A checklist template attached to an appointment becomes the form the technician fills in on site. The engine picks the piece of equipment it belongs to: the customer's equipment of the template's type, preferring one already on the work order, and otherwise the one installed most recently.

## Before you start

* The appointment exists in Zoho.
* A template for that equipment type exists; see [Author a checklist template](/handbook/catalog-and-staff/author-a-checklist-template).

## Steps

<Steps>
  <Step title="Attach the template">
    On the appointment in Zoho, add the template in the **Checklist** list. The Service calendar widget does this when it books.
  </Step>

  <Step title="Save the appointment">
    Save. The engine turns the list into a form on our side.
  </Step>
</Steps>

## How you know it worked

* In the app the technician sees the checklist on the work order, under **Forms**.
* The equipment the form was matched to is also linked to the work order.

## Good to know

* Removing the template from the appointment removes a checklist nobody has started. One that is in progress or completed stays.
* Cancelling the work order removes every checklist on it that was not completed.

## Related

* [How booking works](/handbook/booking/how-booking-works)
* [Answer a checklist](/handbook/on-site/answer-a-checklist)
