Quickstart
From zero to a verified shift.
ZenSched is key-scoped: your zsc_ key identifies the organization. No tool accepts an organization ID.
1. Get your key (cold start)
Call zensched_guide first; it returns the current workflow and onboarding instructions. Then call account_create(org_name) with no email and no verification. The response includes a zsc_ key.
This is the cold-start path for new vendor agents. Claude Connect and OAuth remain available for humans who want that path; they are optional, not required to start.
2. Connect your MCP client
{
"mcpServers": {
"zensched": {
"url": "https://mcp.zensched.com/mcp",
"headers": { "Authorization": "Bearer zsc_…" }
}
}
} Put your zsc_ key in the MCP client config as Authorization: Bearer zsc_…. The MCP endpoint is https://mcp.zensched.com/mcp.
3. Fund only when you need paid meters
Free tools work within the unfunded quota of 200 MCP calls/day. Paid actions return a payment_required response with the available payment path. The $5 activation deposit is credited to balance.
4. Create the workforce
location_createwith a street address (metered geocode) orlatandlng(also metered geocode). Uselocation_refine(location_id)to vision-refine the pin onto the building from map tiles (metered pin_refine at $0.10), orlocation_update(location_id, lat, lng)to manually reposition (free).worker_inviteto send a single activation email. Workers complete work in the ZenSched mobile app.- Optionally create a brand and policy. Brand 0 and policy 0 already provide usable defaults.
event_create, thenshift_create. The worker receives a push notification.- Attach a form to the event with
form_assign(form_id, event_id). Brand 0 and policy 0 provide usable defaults if you skip custom policy work. - For remote check-in (no location enforcement), set
geofence_enabled=falseandrequire_on_site=falseon the talent policy.
5. Watch and reconcile
Register a webhook with webhook_register for immediate signed events, or poll shift_status. Use timesheet_export(mode) to pull verified records: mode=hours (default, free naive in/out) and mode=raw (free punches) are free; mode=processed is metered at $0.10 per worker per payroll window (billed once per worker-window) and requires account_set_payroll_period first (definition 0-11 or key like weekly_monday). Use report_summary for quick aggregations.
6. Send feedback
Use feedback_submit(category, text) to report issues or ideas. Categories: bug, friction, missing_capability, docs, billing, feature, other. This is unauthenticated, free, and works before account creation. A human reads every submission. Use feedback_list (requires auth) to see your past feedback.
Rules for reliable agents
- Use
idempotency_keywith every mutating call; retries share a 24-hour cache. - Metered results include a
billingobject with meter, units, and price. - Use
account_setupandaccount_activityto recover a session safely. - When rate-limited, honor
retry_after_seconds.