You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add agent name to outbound emails, update /docs with missing endpoints
- Outbound invite and RSVP reply emails now use agent name as From
display name when set (e.g. "My Agent" <cal-xxx@invite.caldave.ai>)
- /docs page now documents GET /agents/me, PATCH /agents, agent
name/description on POST /agents, GET /changelog, and POST /man
- Added IMPORTANT note to CLAUDE.md requiring all five doc surfaces
to be updated when adding public API endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
11
11
-**API changelog endpoint** — `GET /changelog` returns a structured list of API changes with dates and docs links. With optional Bearer auth, highlights changes introduced since the agent was created. Designed for agents to poll ~weekly.
12
12
-**Agent metadata** — `POST /agents` now accepts optional `name` and `description` fields to identify agents. New `GET /agents/me` returns the agent's profile. New `PATCH /agents` updates metadata without changing the API key. Agent name and description are surfaced in `POST /man` context.
13
13
-**Outbound calendar invites** — when an event is created or updated with attendees, CalDave sends METHOD:REQUEST iCal invite emails via Postmark. Invites include `.ics` attachments that work with Google Calendar, Outlook, and Apple Calendar. From address is the calendar's email so replies route back through the inbound webhook.
14
+
-**Agent name in outbound emails** — when an agent has a name set (via `PATCH /agents`), outbound invite and RSVP reply emails use `"Agent Name" <calendar-email>` as the From address, so recipients see a friendly display name instead of just the calendar email.
14
15
-**Outbound RSVP replies** — when an agent responds to an inbound invite via `POST /respond`, CalDave sends a METHOD:REPLY iCal email back to the organiser with the agent's acceptance, decline, or tentative status.
15
16
-**Graceful degradation** — if `POSTMARK_SERVER_TOKEN` is not set, outbound emails are silently skipped. All API endpoints continue to work normally.
16
17
-**Outbound email tracking** — new `invite_sent`, `reply_sent`, and `ical_sequence` columns on events prevent duplicate sends and support proper iCal update semantics.
@@ -23,6 +24,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
23
24
-**Terms of Service and Privacy Policy** — new `/terms` and `/privacy` pages with footer links on landing, docs, and quickstart pages.
24
25
25
26
### Fixed
27
+
-**API docs updated** — `/docs` page now documents `GET /agents/me`, `PATCH /agents`, agent `name`/`description` fields on `POST /agents`, `GET /changelog`, and `POST /man`. Table of contents updated with Agents and Discovery sections.
26
28
-**JSON 404 catch-all** — unmatched routes now return `{"error": "Not found. Try POST /man for the API reference."}` instead of Express's default HTML page.
27
29
-**Guide mode discoverability** — `POST /man?guide` now includes a `discover_more` object pointing to the full API reference, changelog, and agent update endpoint so agents don't have to guess at available endpoints.
28
30
-**Welcome event in /man recommendation** — `POST /man` recommendation logic now accounts for the auto-created welcome event (same fix as changelog recommendations).
description: 'When your agent has a name set, outbound invite and RSVP reply emails show the agent name as the From display name (e.g. "My Agent" <cal-xxx@invite.caldave.ai>).',
<p class="desc">Create a new agent identity. Returns credentials you must save — the API key is shown once.</p>
132
+
<div class="label">Body parameters</div>
133
+
<div class="params">
134
+
<div class="param"><span class="param-name">name <span class="param-opt">optional</span></span><span class="param-desc">Display name for the agent (max 255 chars). Shown in outbound email From headers.</span></div>
135
+
<div class="param"><span class="param-name">description <span class="param-opt">optional</span></span><span class="param-desc">What the agent does (max 1000 chars). Surfaced in POST /man context.</span></div>
136
+
</div>
125
137
<div class="label">Example</div>
126
-
<pre><code>curl -s -X POST https://${DOMAIN}/agents</code></pre>
138
+
<pre><code>curl -s -X POST https://${DOMAIN}/agents \\
139
+
-H "Content-Type: application/json" \\
140
+
-d '{"name": "Meeting Scheduler", "description": "Books rooms and sends reminders"}'</code></pre>
127
141
<div class="label">Response</div>
128
142
<pre><code>{
129
143
"agent_id": "agt_x7y8z9AbCd",
130
144
"api_key": "sk_live_abc123...",
145
+
"name": "Meeting Scheduler",
146
+
"description": "Books rooms and sends reminders",
131
147
"message": "Store these credentials securely. The API key will not be shown again."
<div class="note">When an agent has a name, outbound invite and RSVP reply emails use it as the From display name (e.g. "Meeting Scheduler" <cal-xxx@${EMAIL_DOMAIN}>).</div>
<p class="desc">Structured list of API changes with dates and docs links. With a Bearer token, highlights changes since your agent was created and includes personalized recommendations. Poll ~weekly to discover new features.</p>
<div class="note">The <code class="inline-code">recommendations</code> array includes actionable suggestions based on your agent state (e.g. name your agent, create a calendar, create an event). Only present when authenticated and there are suggestions.</div>
<p class="desc">Machine-readable API manual. Returns all endpoints with curl examples and parameters. With Bearer auth, includes your real calendar IDs and a recommended next step. Use <code class="inline-code">?guide</code> for a compact onboarding overview.</p>
562
+
<div class="label">Example — full reference</div>
563
+
<pre><code>curl -s -X POST https://${DOMAIN}/man \\
<div class="note">The <code class="inline-code">?guide</code> mode returns only an overview, your context, a recommended next step, and links to discover more. Ideal for first-time agent onboarding.</div>
0 commit comments