DEVELOPER DOCUMENTATION · V1

Presence Automation API

The production Automation API powers native Zapier and IFTTT connections while keeping Presence's private inputs behind a narrow boundary. It is intended for approved Presence marketplace integrations, not general calendar-data access.

Authentication

Presence uses OAuth 2.0 authorization code connections. Authorization begins at /connect/automation; codes are exchanged at /api/automation/oauth/token. API requests use the returned access token as an HTTPS Bearer token. Client credentials are issued directly to an approved marketplace integration and must remain secret.

Endpoints

GET/api/automation/v1/meTest the account connection and return its stable ID.
GET/api/automation/v1/statusRead the current simplified Presence status.
GET/api/automation/v1/status-eventsPoll recent, deduplicated status-change events.
POST/api/automation/v1/statusSet a timed status or return Presence to Automatic.

Status-change trigger

GET /api/automation/v1/status-events?limit=50 returns newest-first events containing id, status, message, color, source, and occurredAt. Event IDs are stable for polling deduplication. The maximum page size is 50.

Set status action

POST /api/automation/v1/status
{ "action": "set", "status": "Focus", "minutes": 30 }

Duration must be between 5 and 480 minutes. The status is treated as a temporary user-authorized choice and continues to follow Presence's safety and priority rules.

Return to Automatic action

POST /api/automation/v1/status
{ "action": "automatic" }

This clears the temporary automation choice and immediately resumes the user's normal Presence logic.

Data boundary

The API never returns calendar titles, descriptions, attendees, calendar names, meeting links, caller identity, phone numbers, messages, email content, documents, precise location, audio, video, or recordings. It exposes only the simplified status that the user already chose to share, its public display message and color, a broad source label, and timestamps.

Errors and reliability

Invalid or revoked tokens return HTTP 401. Invalid actions return HTTP 400 with a human-readable message. All endpoints require HTTPS. Status events are deduplicated, and an automation-platform outage cannot block the main Presence status engine.

Support

Partner-review and API questions can be sent to presence@arronhartt.com. See the Privacy Policy and Terms of Service.