List Calendly Bookings
Browse your upcoming Calendly scheduled events with invitee details
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 user's timezone and current date:
- Check
Service Profiles for stored timezone
- If not found, ASK the user: "What timezone are you in?"
- Determine TODAY by converting the current UTC time to user's timezone
- The current date depends on their timezone, not system time
- Example: 8am UTC on Jan 16 is still Jan 15 at midnight in SF (PST)
For date ranges, use the user's local calendar day boundaries.
6
Present bookings following the format in Calendly API Guide:
- Convert ALL times to user's local timezone
- Use the CORRECT current date in user's timezone for "Today"/"Tomorrow" labels
- Group by date with headers, add
---divider between events - Summarize form responses in third person ("He mentions...", "She's looking to...")
After presenting, offer to show more details for any specific event.
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 CONSECUTIVE read steps in a row, read them all at once (in parallel). Otherwise, do not read a file until you reach that step.
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 user's timezone and current date:
1. Check `documents/user/services/*.md` for stored timezone
2. If not found, ASK the user: "What timezone are you in?"
3. Determine TODAY by converting the current UTC time to user's timezone
- The current date depends on their timezone, not system time
- Example: 8am UTC on Jan 16 is still Jan 15 at midnight in SF (PST)
For date ranges, use the user's local calendar day boundaries.
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` into context
7. Present bookings following the format in `skills/sauna/[skill_id]/references/scheduling.calendly.guide.md`:
- Convert ALL times to user's local timezone
- Use the CORRECT current date in user's timezone for "Today"/"Tomorrow" labels
- Group by date with headers, add `---` divider between events
- Summarize form responses in third person ("He mentions...", "She's looking to...")
After presenting, offer to show more details for any specific event.