Start a conversation with Fin
Changed onInitialize Fin by passing it the user's message along with conversation history and user details.
These additional pieces of context will be used by Fin to provide a better and more contextual answer to the user.
{% admonition type="warning" %} To request access to the Fin Agent API, go to Settings > Integrations > Fin Agent API in your workspace and tell us about your use case. Once access is granted, Fin Agent API appears under Fin AI Agent > Deploy. {% /admonition %}
Once Fin is initialized, it progresses through a series of statuses such as thinking, awaiting_user_reply, or resolved before ending with a status of complete.
During this workflow, the client should allow Fin to continue uninterrupted until a final complete status is returned via webhook, at which point control of the conversation passes back to the client.
Pricing
Conversations you start with /fin/start are billed on outcomes: you're charged at most once per conversation, and only when Fin reaches a billable outcome such as a resolution. See Understanding Fin outcomes.
Request
- Base URLhttps://api.intercom.io
- AuthHTTP bearer
Headers
Intercom API version.</br>By default, it's equal to the version set in the app package.
Request body
Example request
{
"conversation_id": "ext-123",
"message": {
"author": "user",
"body": "How can I see my account details?",
"timestamp": "2025-01-24T10:01:20.000Z",
"timestamp_ms": "2025-01-24T10:01:20.456Z"
},
"user": {
"id": "123456",
"name": "John Doe",
"email": "john.doe@example.com",
"attributes": {
"plan_type": "Pro",
"subscription_status": "active"
}
},
"attachments": [
{
"type": "url",
"url": "https://example.com/document.pdf",
"name": "screenshot.png",
"content_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk..."
}
],
"conversation_metadata": {
"history": [
{
"author": "user",
"body": "How can I see my account details?",
"timestamp": "2025-01-24T10:01:20.000Z",
"timestamp_ms": "2025-01-24T10:01:20.456Z"
}
],
"attributes": {
"priority_level": "high",
"department": "sales"
}
},
"environment": "a1b2c3d4e5"
}Response
Fin conversation started successfully
Example response
{
"conversation_id": "ext-123",
"intercom_conversation_id": "192837465",
"user_id": "user-456",
"status": "thinking",
"created_at_ms": "2025-01-24T10:00:00.123Z",
"errors": {
"user": {
"attributes": {
"invalid_attr": "User attribute 'invalid_attr' does not exist"
}
},
"conversation": {
"attributes": {
"bad_attr": "Conversation attribute 'bad_attr' does not exist"
}
}
}
}Changes
- warning
removed the optional property
from the response with the status
- warning
- info
added the new optional request property
- info