Keelcroft · Check-In Line documentation

Check-In Line

A short automated phone call every day to an aging parent (or any adult living alone). Press 1 = doing fine, 2 = please call me, 3 = leave a voice message, 9 = stop the calls. Unanswered calls are retried, then family contacts are alerted. Works on any phone — landline, flip phone or mobile — with nothing to install for the parent.

Endpoints

PurposeURL
MCP (Streamable HTTP, JSON-RPC)https://checkin.keelcroft.com/mcp
REST alternativehttps://checkin.keelcroft.com/v1/… — described by openapi.json
Authorization-server metadata/.well-known/oauth-authorization-server
Protected-resource metadata/.well-known/oauth-protected-resource
Dynamic client registrationhttps://checkin.keelcroft.com/oauth/register
Connector manifest/.well-known/muse-connector.json
Health/health

Authentication

OAuth 2.1 authorization code with PKCE (S256). Clients register dynamically or present a Client-ID Metadata Document. Access tokens are bearer tokens valid for one hour; refresh tokens rotate on use. Scopes: parents:read, parents:manage, alerts:read. API keys (Authorization: Bearer ck_…) are available from the account page for scripts and for adding Check-In Line to Muse as a custom connector before the directory listing is live.

The authorization flow shows a consent page listing what the agent will be able to do, then a passwordless email sign-in (magic link). Connecting never requires payment; tools that place calls require an active subscription and tell the agent where the user can start one.

Tools

ToolApprovalDescription
list_parentsnoParents on the account with ids, phone, daily call time, consent and pause status, plus a next_step hint when setup is incomplete.
get_statusnoToday's outcome (checked in / asked for a call / left a message / missed / pending), last confirmed-OK time, schedule, consent, pause state, escalation contacts. Answers “is Mom okay?”.
get_historynoRecent check-ins for the last days plus plain pattern facts: confirmed / missed / asked-for-a-call counts, typical answer time, whether answers are later than usual. Facts only; no medical conclusions.
get_voice_notesnoVoice messages the parent left (press 3) with transcripts.
get_recent_alertsnoProactive events since an ISO-8601 timestamp: checked in, asked for a call, voice message, missed after all retries (family alerted), consent given/declined, opted out.
request_checkin_nowyesPlaces an extra check-in call right now (or immediately places a pending retry).
start_setup_callyesPlaces the consent call: the parent hears who set this up and presses 1 to agree to daily calls or 9 to decline.
set_schedulenoDaily call time, time zone, language (English/Spanish), retries and spacing, extra reminder prompts (e.g. “evening pills” at 20:00).
pause_checkins / resume_checkinsnoPause while travelling or staying with family (optionally until a date), resume later.
add_messagenoQueues a short spoken message read aloud in the next call (“I'll visit on Sunday”, “Happy birthday!”).
add_contactnoAdds a family member or neighbour who is called and/or emailed when a check-in is missed.
add_parentyesAdds another parent (one subscription seat each).

Tool results include both human-readable text and structuredContent. Times are returned in the parent's time zone alongside ISO-8601 UTC.

Consent and safety design

Access requirements

Reviewer test path

No real phone is needed. Meta reviewers receive a private reviewer link that signs in a demo account with a pre-consented simulated parent and a 90-day entitlement. Calls to simulated numbers place no real call; the dashboard shows buttons to simulate the parent pressing 1, 2, 3, 9 or not answering, so every tool outcome can be exercised in minutes. The link is supplied with the submission, not published here.

Data handling

Collected: account holder's email; for each parent their name, phone number, time zone, language, call schedule and consent status; per call the time, attempts, the key pressed and the telephony call id; voice messages the parent chooses to leave (audio held by the telephony provider, transcript produced by a speech model running on Cloudflare Workers AI); names, phone numbers and emails of the escalation contacts the account holder adds; short family messages queued for reading aloud. Shared with Twilio (telephony), Dodo Payments (billing), Resend (email delivery) and the connected agent (only what it requests). Never sold or used for advertising. Retained while the parent is on the account; deleting a parent removes their history, and full deletion is available on request to support@keelcroft.com. Full text: privacy policy, terms.

Support

support@keelcroft.com · security reports: same address, subject “Security”.