---
title: Booking a kickoff call
description: Client desk finds a free hour in Sam's calendar, holds it, offers it to Dana at Juniper Dental, and sets a follow-up.
agents: [Client desk]
tools: [calendar.list, calendar.hold, mail.send, contacts.follow_up]
source: [packages/agents/src/tools/writes.ts, packages/agents/src/tools/features.ts]
---

> Roadstar docs for agents. Every page, as markdown: https://docs.roadstar.app/llms.txt

## What Sam said

Dana signed the quote. In Client desk's chat:

> Juniper signed! Book a kickoff call with Dana next week, an hour, mornings are best for me.

The chat sends it to the thread that holds Juniper Dental, "New client enquiries", with `message_thread`.

## 1. Find a free morning

```json title="use_tool"
{ "name": "calendar.list", "input": { "after": "2026-11-16T00:00:00-05:00", "before": "2026-11-21T00:00:00-05:00" } }
```

Tuesday 10:00 to 11:00 and Thursday 9:00 to 10:00 are free.

## 2. Hold the time

`hold` blocks time on Sam's own calendar and invites nobody, so it needs no yes:

```json title="use_tool"
{
  "name": "calendar.hold",
  "input": {
    "title": "Juniper Dental kickoff (held)",
    "start": "2026-11-17T10:00:00-05:00",
    "end": "2026-11-17T11:00:00-05:00",
    "note": "Offered to Dana Whitfield. Thursday 9:00 is the backup."
  }
}
```

## 3. Offer it to Dana

Sam asked for the call with Dana, so the email goes:

```json title="use_tool"
{
  "name": "mail.send",
  "input": {
    "to": ["dana@juniperdental.test"],
    "subject": "Kickoff for the Juniper Dental rebrand",
    "threadId": "7c41e2d0:19a2c4e07d5b3f18",
    "text": "Hi Dana,\n\nThanks for signing! Could we do a one-hour kickoff on Tuesday, November 17 at 10:00 AM Eastern? If that doesn't suit, Thursday at 9:00 works too.\n\nSam"
  }
}
```

## 4. Follow up if she doesn't answer

```json title="use_tool"
{
  "name": "contacts.follow_up",
  "input": {
    "contactId": "8d2e6b14-3a7c-4f09-b5d1-6e0a9c3f7b22",
    "text": "Kickoff: did Dana pick Tuesday or Thursday? Move the hold if needed.",
    "at": "2026-11-13T09:00:00-05:00"
  }
}
```

The follow-up wakes Client desk on Friday morning if it's still open.

## 5. It answers

> I've held Tuesday 10 to 11 for the Juniper kickoff and offered it to Dana, with Thursday 9 as a backup. I'll check Friday if she hasn't answered.

## Related

- [Calendar](/tools/calendar/), [Mail](/tools/mail/), [Contacts](/tools/contacts/)
