Overview
When your CRM books an appointment, you can push it to Sales Ask via POST /v1/scheduled-tasks. Appointments are keyed by your event_id (e.g. CRM job or calendar event ID). Use the same event_id to update or delete the appointment later.
Sales Ask stores the appointment with the assigned rep (resolved from user_email). When that rep records a call around the appointment time, Sales Ask can match the recording and include your event_id in webhook payloads so your system can look up the original job.
Create or update an appointment (upsert)
Send event_id, user_email, and start_time. If an appointment with that event_id already exists for your organization, it is updated; otherwise it is created.
All times must be UTC date-time strings (e.g. 2026-03-01T14:00:00.000Z).
Required fields
Optional fields
Always set event_id to your CRM’s job or appointment ID. This is what you will receive in webhook payloads when a matching recording is processed.
Update an appointment (partial)
Update only the fields you send. Path parameter is your event_id.
List appointments
Filter by rep email:
Results are paginated. Use nextCursor from the response as startAfter for the next page. Optional query params: fromDate, toDate, user_email, limit (1–100, default 25), startAfter.
Get one appointment
Delete an appointment
Use your event_id in the path:
Finding the rep
The user_email must match an active user in your organization. The API resolves it to an internal rep identifier; no rep IDs are returned in API responses.