Publish POST /fin/escalate in the Preview spec and clarify /fin/ask escalation wording - #608
Conversation
There was a problem hiding this comment.
✅ PR Review Summary: APPROVE
| Summary | |
|---|---|
| ✅ | 🎯 Problem — The PR clearly and concisely explains the problem (misleading absolute wording), the rationale (handoffs are still possible), and the minimal fix being applied. |
| ✅ | 📝 Alignment — The PR description accurately and completely reflects the code change, correctly identifying the exact rewording, the affected file, and the documentation-only nature of the modification. |
| ℹ️ | 🧠 Correctness — Disabled for this repository. |
| ✅ | 🦺 Safety — The change is a single, minimal wording update to a description string in the Unstable/Preview spec, with no schema, endpoint, or operational changes and no impact on released versions. |
| ✅ | 🚦 Auto-approval — Within size limit (0/150 LOC). |
Per-criterion details
Problem
Excellent concise PR that clearly explains the problem (misleading absolute wording that implies no handoff is possible), why it matters (conversations can still be handed off to humans), and the minimal change being made. No fluff, just the essential context a reviewer needs.
Alignment
The PR description states:
- The change rewords "will not escalate to a human" to "will not escalate to a human on its own." — This matches the diff exactly.
- It says the change is description text only with no schema or operation changes — The diff confirms only a description string in the YAML was modified.
- It says the file changed is
descriptions/0/api.intercom.io.yaml— This matches. - The rationale about clarifying that Fin doesn't escalate on its own but the conversation can still be handed off is consistent with the wording change.
The description accurately and completely reflects what the code change does.
Safety
This PR makes a single, minimal text clarification in the Unstable/Preview spec (descriptions/0/api.intercom.io.yaml). It adds three words ("on its own") to a description string for the /fin/ask endpoint. There are no schema, endpoint, field, type, or operational changes — purely a wording improvement to documentation text. The change is confined entirely to the Unstable/Preview tier, touches no released versions, no Fern config, no scripts, no CI/CD files, and introduces no breaking changes.
<violated_criteria>
</violated_criteria>
Rate this comment 👍 / 👎 to help us improve 🙏 · Disagree with assessment? Establish ground truth here
Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
b7dc043 to
8e90052
Compare
Co-Authored-By: Claude <noreply@anthropic.com>
…apability kind Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
| `escalated`, readable as `ai_agent.resolution_state` on the Conversations API. This is a | ||
| resolution state, not a billable resolution. | ||
|
|
||
| On Fin for Platforms there is no Intercom inbox, so an escalation that no workflow |
There was a problem hiding this comment.
| On Fin for Platforms there is no Intercom inbox, so an escalation that no workflow | |
| On Fin for Platforms, there is no Intercom inbox, so an escalation that no workflow |
There was a problem hiding this comment.
I'll tackle this with the CSAT changes.
Why?
POST /fin/escalateis a published Preview endpoint — it's documented on developers.intercom.com and is one of the six Fin Agent API orchestration endpoints — but it was missing from this spec entirely. The other five (/fin/capabilities,/fin/ask,/fin/reply,/fin/procedures/{procedure_id}/run,/fin/start) are all here, so this looks like an oversight rather than a deliberate exclusion.Consequence: no generated
escalatemethod in any of the four SDKs (TS, Java, Python, PHP), and no Postman entry.Separately, the
askFindescription said Fin "will not escalate to a human", which reads as absolute. Fin does not escalate an/fin/askconversation on its own, but such a conversation can be handed off with/fin/escalate— a clarification that only makes sense once the endpoint it points at is actually defined here.What changed?
descriptions/0only:POST /fin/escalate(escalateFinConversation) — ported verbatim from the@Previewspec in developer-docs, inserted in the same position in the Fin Agent group (after/fin/procedures/{procedure_id}/run, before/fin/start).askFindescription — "will not escalate to a human" → "will not escalate to a human on its own", plus a note that an ask conversation can be handed off withPOST /fin/escalate.Fin Agenttag description — added the/fin/escalateclause to the endpoint list.What the escalate operation documents
conversation_id(escalate an existing agent conversation, including one started with/fin/ask) oruser(escalate with no prior conversation).escalated, readable asai_agent.resolution_stateon the Conversations API.200,400,401. Only pre-existing schemas are referenced (error,fin_agent_user,intercom_version) — no new components.Verification
escalateFinConversationresolves under theFin Agenttag.$refin the document resolves — checked doc-wide, not just in the new block.@Previewversion (deep-equal on the parsed object).fern checkwas not run locally (fernisn't installed) — relying on thefern_checkCI job.Sync note
Pairs with intercom/developer-docs#1066, which carries the same wording plus the guide changes. developer-docs is the source of truth for the spec YAML and the two repos are kept in step by manual copy, which is how this endpoint came to be missing on this side.
Generated with Claude Code