The Fin Custom Helpdesk API allows you to integrate your custom helpdesk with Fin through a standardized set of API endpoints and webhooks.
Fin Custom Helpdesk API (0.0.1)
- Your Custom Helpdesk API (replace with your actual domain)https://helpdesk.example.com/api/fin/conversation
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X GET \
'https://helpdesk.example.com/api/fin/conversation?conversation_id=string' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Conversation found successfully
Current conversation status:
open- Conversation is actively ongoing with the end-userresolved- Conversation is resolved by Finclosed- Conversation is finished/archivedended- Conversation is ended by the end-user or agent
End user having a conversation with Fin or with an agent.
URL to user's avatar/profile picture (displayed in Fin Messenger)
List of tags associated with the conversation in your system. Can be used to power routing within the Fin workflow among other things.
Attributes associated with the conversation
When the conversation was created (ISO 8601 UTC)
{ "id": "conv_456", "status": "open", "user": { "id": "user_123456", "user_type": "end_user", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "attributes": { … } }, "title": "Question about pricing plans", "tags": [ "pricing", "sales" ], "attributes": { "issue_type": "Billing", "priority": "High" }, "assignee": { "id": "agent_123456", "user_type": "agent", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "alias": "Support Jane" }, "created_at": "2025-10-27T14:30:00.000Z", "updated_at": "2025-10-27T15:45:00.000Z" }
List of tags associated with the conversation in your system. Can be used to power routing within the Fin workflow among other things.
Attributes associated with the conversation
Agent ID (Fin agent). Set to null when handing over to a human agent.
- Your Custom Helpdesk API (replace with your actual domain)https://helpdesk.example.com/api/fin/conversation
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X PUT \
https://helpdesk.example.com/api/fin/conversation \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"conversation_id": "conv_456",
"title": "Pricing inquiry - resolved",
"tags": [
"pricing",
"sales"
],
"attributes": {
"issue_type": "Billing",
"priority": "High"
},
"status": "resolved",
"assignee_id": "agent_fin",
"last_user_read_at": "2025-10-27T15:45:00.000Z"
}'Conversation updated successfully
Current conversation status:
open- Conversation is actively ongoing with the end-userresolved- Conversation is resolved by Finclosed- Conversation is finished/archivedended- Conversation is ended by the end-user or agent
End user having a conversation with Fin or with an agent.
URL to user's avatar/profile picture (displayed in Fin Messenger)
List of tags associated with the conversation in your system. Can be used to power routing within the Fin workflow among other things.
Attributes associated with the conversation
When the conversation was created (ISO 8601 UTC)
{ "id": "conv_456", "status": "open", "user": { "id": "user_123456", "user_type": "end_user", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "attributes": { … } }, "title": "Question about pricing plans", "tags": [ "pricing", "sales" ], "attributes": { "issue_type": "Billing", "priority": "High" }, "assignee": { "id": "agent_123456", "user_type": "agent", "name": "Jane Doe", "email": "jane.doe@example.com", "photo_url": "https://example.com/avatars/jane.jpg", "alias": "Support Jane" }, "created_at": "2025-10-27T14:30:00.000Z", "updated_at": "2025-10-27T15:45:00.000Z" }
Request
Called when a new conversation has been created via the Fin Messenger. Note we provide the initial message from the conversation as we know many help desks require this to be provided when creating a conversation. The response requires both the conversation object and the message object so that these can be mapped correctly to their Fin equivalents.
- Your Custom Helpdesk API (replace with your actual domain)https://helpdesk.example.com/api/fin/conversation
- curl
- Node.js
- Ruby
- PHP
- Python
- Java
- Go
- C#
- R
curl -i -X POST \
https://helpdesk.example.com/api/fin/conversation \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"title": "Question about pricing",
"user_id": "user_123",
"object_id": "123456",
"initial_message": {
"conversation_id": "conv_456",
"message_type": "comment",
"body": "<p>Hi! I'\''d like to know more about your pricing plans.</p>",
"author": {
"id": "user_123456",
"user_type": "end_user"
},
"visibility": "public",
"attributes": {
"issue_type": "Billing",
"priority": "High"
},
"created_at": "2025-10-27T14:30:00.000Z",
"object_id": "123456",
"attachments": [
{
"url": "https://example.com/files/pricing-guide.pdf",
"filetype": "pdf",
"filename": "Pricing Guide 2025"
}
]
}
}'Conversation created successfully
Unique identifier for the conversation in your system
Current conversation status:
open- Conversation is actively ongoing with the end-userresolved- Conversation is resolved by Finclosed- Conversation is finished/archivedended- Conversation is ended by the end-user or agent
End user having a conversation with Fin or with an agent.
Unique identifier for the user in your system
URL to user's avatar/profile picture (displayed in Fin Messenger)
Conversation title or subject
List of tags associated with the conversation in your system. Can be used to power routing within the Fin workflow among other things.
Attributes associated with the conversation
When the conversation was created (ISO 8601 UTC)
Unique identifier for the message in your system
Message content in HTML format
End user having a conversation with Fin or with an agent.
Unique identifier for the user in your system
User's email address
URL to user's avatar/profile picture (displayed in Fin Messenger)
Who can see the message:
public- Visible to end-users (appears in Fin Messenger)private- Only visible to agents (internal notes)
When the message was created (ISO 8601 UTC)
{ "conversation": { "id": "conv_456", "status": "open", "user": { … }, "title": "Question about pricing plans", "tags": [ … ], "attributes": { … }, "assignee": { … }, "created_at": "2025-10-27T14:30:00.000Z", "updated_at": "2025-10-27T15:45:00.000Z" }, "initial_message": { "id": "msg_001", "conversation_id": "conv_456", "message_type": "comment", "body": "<p>Thank you for reaching out! I'd be happy to explain our pricing plans.</p>", "author": { … }, "visibility": "public", "created_at": "2025-10-27T14:35:00.000Z", "attachments": [ … ] } }