How to get notified when a conversation goes to the unassigned bucket in messenger? | Community
Skip to main content

We use Fin AI to handle conversations. What we want to do is when Fin AI routes to a human, it gets put in the unassigned conversations bucket and we want to get notified when that happens. Is there anything specific we can use?

I did notice intercom has desktop notifications, but that really depends on our user’s alert settings as well. We originally used a workflow to message a slack channel for all new conversations and replies. However I can’t find any webhooks that trigger when a conversation is moved into unsassigned. 

Hey ​@Jackson Khan, Emily here from Support Engineering at Intercom 👋🏼

 

You’re right: there isn’t a dedicated “conversation moved to Unassigned” webhook topic. Intercom’s webhook catalog includes assignment events to admins, but not an “unassigned” or “team assigned” event for conversations. 

 

Below are reliable ways teams implement notifications when Fin escalates to a human and the conversation lands in Unassigned:

Recommended: Workflow-based Slack alert (no code)

Use a background Workflow that triggers at the moment assignment changes, then notify Slack if the conversation is Unassigned.

  • Trigger: Teammate changes the conversation assignment (During conversation). This trigger fires on assignment changes and can power back‑office actions like notes/SLAs/summaries/notifications.

  • Condition: “Assignee is unassigned.” Practically, an Unassigned conversation has no admin assignee; when you manually set Unassigned, it unassigns from both team and teammate, which is the state you want to detect and alert on.

  • Optional filters to make it “Fin handover” only:

    • Filter by the specific team inbox Fin routes into (e.g., Team assigned = Support). This ensures you only alert on the handover inbox.

    • If you want stronger Fin-only scoping, add a light tagging convention at the handover point (e.g., in your Fin handover guidance or in the downstream routing Workflow, “Tag conversation: fin_handover”). Then filter the Workflow on that tag. Workflows support “Tag conversation” actions and Slack notifications in background flows.

  • Action: Send Slack message from the Workflow. Include variables like contact email/name, conversation link, team inbox name, etc. Note: for conversation-triggered Slack notifications you’ll want to insert variables manually, unlike tickets where some attributes are included by default.

API/Webhooks approach (light code)

If you prefer a custom endpoint, you can get to “Unassigned alerts” with a small service:

What exists

  • Conversation webhook topics include admin assignment events (to a teammate) and bot replies, but no “unassigned” or “team assigned” conversation event.

How to implement

  • Subscribe to these topics:

    • conversation.operator.replied (fires when Fin/bot replies, helpful to scope to “Fin-involved” flows).

    • Optionally conversation.admin.assigned (to observe when a conversation subsequently gets assigned to a teammate).

  • On webhook receipt:

    • Read the conversation id from the event payload.

    • Fetch the conversation via GET /conversations/{id} and inspect admin_assignee_id (null means not assigned to an individual) and team_assignee_id (your target team’s ID if routed to a team inbox).

    • If team_assignee_id equals the handover team AND admin_assignee_id is null, send a Slack notification to your channel of choice.

Hope this helps Jackson!


Hey ​@Jackson Khan, Emily here from Support Engineering at Intercom 👋🏼

 

You’re right: there isn’t a dedicated “conversation moved to Unassigned” webhook topic. Intercom’s webhook catalog includes assignment events to admins, but not an “unassigned” or “team assigned” event for conversations. 

 

Below are reliable ways teams implement notifications when Fin escalates to a human and the conversation lands in Unassigned:

Recommended: Workflow-based Slack alert (no code)

Use a background Workflow that triggers at the moment assignment changes, then notify Slack if the conversation is Unassigned.

  • Trigger: Teammate changes the conversation assignment (During conversation). This trigger fires on assignment changes and can power back‑office actions like notes/SLAs/summaries/notifications.

  • Condition: “Assignee is unassigned.” Practically, an Unassigned conversation has no admin assignee; when you manually set Unassigned, it unassigns from both team and teammate, which is the state you want to detect and alert on.

  • Optional filters to make it “Fin handover” only:

    • Filter by the specific team inbox Fin routes into (e.g., Team assigned = Support). This ensures you only alert on the handover inbox.

    • If you want stronger Fin-only scoping, add a light tagging convention at the handover point (e.g., in your Fin handover guidance or in the downstream routing Workflow, “Tag conversation: fin_handover”). Then filter the Workflow on that tag. Workflows support “Tag conversation” actions and Slack notifications in background flows.

  • Action: Send Slack message from the Workflow. Include variables like contact email/name, conversation link, team inbox name, etc. Note: for conversation-triggered Slack notifications you’ll want to insert variables manually, unlike tickets where some attributes are included by default.

API/Webhooks approach (light code)

If you prefer a custom endpoint, you can get to “Unassigned alerts” with a small service:

What exists

  • Conversation webhook topics include admin assignment events (to a teammate) and bot replies, but no “unassigned” or “team assigned” conversation event.

How to implement

  • Subscribe to these topics:

    • conversation.operator.replied (fires when Fin/bot replies, helpful to scope to “Fin-involved” flows).

    • Optionally conversation.admin.assigned (to observe when a conversation subsequently gets assigned to a teammate).

  • On webhook receipt:

    • Read the conversation id from the event payload.

    • Fetch the conversation via GET /conversations/{id} and inspect admin_assignee_id (null means not assigned to an individual) and team_assignee_id (your target team’s ID if routed to a team inbox).

    • If team_assignee_id equals the handover team AND admin_assignee_id is null, send a Slack notification to your channel of choice.

Hope this helps Jackson!

thanks, I’ll try the webhook approach, we don’t have access to workflows in intercom just yet.