# HowFactory with Trace Steffen

> A short 30 minute conversation to walk through the HowFactory app, your workflows, and how teams are using it to create, share, and communicate with team members. If you think you might need more time... no problem. Just choose a longer meeting time.

- Host: Trace Steffen
- Duration: 30, 45, 60 min
- Location: Cal Video
- Host time zone: America/Chicago
- Confirmation: Bookings are confirmed instantly.
- Booking page: https://cal.com/trace/howfactory
- Event type id: 4329554

## Check availability

```http
GET https://api.cal.com/v2/slots?eventTypeId=4329554&start=YYYY-MM-DD&end=YYYY-MM-DD&timeZone=<IANA time zone>
cal-api-version: 2024-09-04
```

The response is `{"data":{"YYYY-MM-DD":[{"start":"<ISO 8601 with offset>"}]}}`; no API key is needed.

## Book

```http
POST https://api.cal.com/v2/bookings
cal-api-version: 2026-02-25
Content-Type: application/json

{
  "eventTypeId": 4329554,
  "start": "<UTC ISO 8601 start from the slots response>",
  "lengthInMinutes": 30,
  "attendee": {
    "name": "…",
    "email": "…",
    "timeZone": "<IANA time zone>"
  },
  "guests": [
    "guest@example.com"
  ],
  "bookingFieldsResponses": {
    "attendeePhoneNumber": "…",
    "notes": "…"
  }
}
```

- Required fields: `name` (Your name), `email` (Email address)
- Optional fields: `attendeePhoneNumber` (Phone number), `notes` (Additional notes), `guests` (Add guests)
- `name` and `email` go in `attendee` and `guests` is a list of emails; every other field goes in `bookingFieldsResponses` under its name.
- `lengthInMinutes` picks one of 30, 45, 60; pass the same value to the slots request as `duration`.
