List Calendly Bookings
Requirements
Optional: date range (today, this week, next 7 days), status filter (active, canceled, all). Defaults to upcoming active events if not specified.
3
Before fetching, determine the user's timezone:
- Check
Connection Profiles for stored timezone
- If not found, ASK the user: "What timezone are you in?"
- Store their answer for future reference
Then determine date range:
- If they asked for specific dates, convert to ISO 8601 in UTC
- "Today" / "tomorrow" = that calendar day in user's timezone
- "This week" = remaining days in current week
- No date specified = all upcoming events
6
Present bookings following the format in Calendly API Guide:
- Convert ALL times to user's local timezone
- Group by date with headers
- Add
---divider between each event - Summarize form responses in third person ("He mentions...", "She's looking to...")
- Don't quote verbatim—extract the key intent succinctly
After presenting, offer to show more details for any specific event.
Clean up: delete Calendly Events List after presenting.
To run this task you must have the following required information:
> Optional: date range (today, this week, next 7 days), status filter (active, canceled, all). Defaults to upcoming active events if not specified.
If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.
---
You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).
Add all steps to your todo list now and begin executing.
## Steps
1. [Read Timezone Mastery]: Read the documentation in: `skills/sauna/[skill_id]/references/world.time.zones.md` (Understand timezone handling and user context)
2. [Read Calendly API Guide]: Read the documentation in: `skills/sauna/[skill_id]/references/scheduling.calendly.guide.md` (Calendly data structures and form response interpretation)
3. Before fetching, determine the user's timezone:
1. Check `documents/connections/[service-name].md` for stored timezone
2. If not found, ASK the user: "What timezone are you in?"
3. Store their answer for future reference
Then determine date range:
- If they asked for specific dates, convert to ISO 8601 in UTC
- "Today" / "tomorrow" = that calendar day in user's timezone
- "This week" = remaining days in current week
- No date specified = all upcoming events
4. [Gather Arguments: Fetch Calendly Events] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `outputPath`: session/calendly-events.json
- `minStartTime`: minStartTime in ISO 8601 UTC, or omit for now
- `maxStartTime`: maxStartTime in ISO 8601 UTC if date range specified, otherwise omit
- `status` (default: "active"): status filter: active, canceled, or all (default: active)
5. [Run Code: Fetch Calendly Events]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/scheduling.calendly.events/preview,
"args": [
"outputPath",
"minStartTime",
"maxStartTime",
"status"
]
},
"packages": null
}
```
6. [Read Calendly Events List]: Read the file at `session/calendly-events.json` and analyze its contents
7. Present bookings following the format in `skills/sauna/[skill_id]/references/scheduling.calendly.guide.md`:
- Convert ALL times to user's local timezone
- Group by date with headers
- Add `---` divider between each event
- Summarize form responses in third person ("He mentions...", "She's looking to...")
- Don't quote verbatim—extract the key intent succinctly
After presenting, offer to show more details for any specific event.
Clean up: delete `session/calendly-events.json` after presenting.