If you’re not using Fin for Intercom, Zendesk, Salesforce, HubSpot, or Freshworks, no problem. Fin for Generic Platforms allows you to deploy Fin in the Messenger and escalate conversations to any support platform that isn’t already deeply integrated. It integrates with any system that supports a URL redirect, live chat widget, or API call.
It works like any other Fin setup — with Train, Test, Deploy and Analyze. The key difference is in Deploy, where you define how Fin should hand off (escalate) when it can’t answer a question.
Key benefits
Platform-agnostic handover – Works with any support system that accepts a URL redirect, live chat widget trigger, or API call.
Flexible escalation options – Choose between doing nothing, redirecting, triggering JavaScript, or creating tickets via API.
Seamless customer experience – Keep Fin as the first line of support before routing to human support.
Full API automation – Create tickets in third-party systems (for example, Jira) using Data connectors.
Note: You need to install the Fin Messenger before deploying Fin with hand-off to a generic support platform.
How hand-off works
When Fin can’t resolve an issue, you decide exactly what happens next:
Do nothing: The chat ends and does not escalate to a human.
Hand-off to URL: Redirect the customer’s browser to another page.
Hand-off with JavaScript: Run a custom JavaScript function.
Hand-off with Data connector: Call a third-party API (for example, create a ticket).
You configure these options in Deploy > Fin Messenger inside your Fin workspace.
Do nothing
End the conversation without escalation
After the Let Fin handle step in your Fin workflow, the chat will end if Fin isn’t able to help, and it will not escalate to a human. This option is suitable for informational use cases where no human follow-up is required.
Customer experience
Customer requests to talk to a person.
Fin sends a message to explain the chat can't be escalated.
Further customer replies are disabled.
How to close the conversation without escalation
Go to Deploy > Fin Messenger.
Open or create your Fin Messenger workflow.
After the Let Fin handle step, add a Message to advise customers the chat can't be escalated to a person.
Then add a step to Disable customer reply.
Hand-off to URL
Redirect customers to a ticket form or support page
Customers are redirected to a different URL where they can submit a ticket or find further help.
Customer experience
Customer requests to talk to a person.
Fin displays a handover message.
The browser redirects to your chosen URL (for example, a ticket submission form, help center, or support page).
How to configure hand-off to URL
Go to Deploy > Fin Messenger.
Open or create your Fin Messenger workflow.
After the Let Fin handle step, add Hand-off to URL.
Paste the full destination URL.
Tip: This is the quickest way to hand off from Fin to another system. No coding required.
Hand-off with JavaScript
Trigger custom logic, open another live chat widget, or launch email
When Fin can’t answer, it runs a JavaScript function defined by your team. Common use cases include:
Opening another live chat widget to continue the conversation.
Opening a mail client with subject, recipient, and content pre-filled.
Showing a banner or custom UI element on your website.
Customer experience
Customer requests to talk to a person.
Fin displays a handover message.
Fin Messenger closes.
The external live chat widget or custom experience loads instantly.
How to configure hand-off with JavaScript
Go to Deploy > Fin Messenger.
Open or create your Fin Messenger workflow.
After the Let Fin handle step, add Hand-off with JavaScript.
Implement a JavaScript function on your website that:
Closes the Fin Messenger.
Opens your desired chat widget or triggers your custom logic.
Note: You’ll need developer support to set up the JavaScript logic that switches between widgets. Learn more about hand-off with JavaScript.
Hand-off with Data connector
Automatically create tickets in your support system via API
This option uses Fin’s Data connectors to call your support system’s API.
Customer experience
Customer requests to talk to a person.
Fin prompts for their email address.
A contact is found or created in your support system.
A ticket is created behind the scenes.
The customer receives a confirmation message with a ticket ID and a follow-up email.
How to configure ticket creation with Data connectors
1. Collect the user’s email
Before you hand over to your ticketing system, you’ll need to collect the user's email in the Fin Messenger so you can follow up later.
Note: If you're already passing the user’s email via the JavaScript SDK (e.g., for logged-in users), they won’t be asked to re-enter it.
Once you have their email, you can use Data connectors to:
Look up the contact in your ticketing system.
Create a new contact if none exists.
2. Create a Data connector for contact lookup
In Settings > Data connectors, create a connector to find contacts by email, e.g. "Find existing contact".
You should always verify the user actually owns the email address they provide. You can verify ownership in two ways:
Messenger identity verification: For logged in users, you can pass the user’s email via the JavaScript SDK, signed by JWT.
Email verification: Fin will email a code the user/lead must enter to continue.
3. Configure the contact lookup
Use the user’s email in the API call to search your ticketing system. The example below searches for the user by the email they provided using a GET request (your ticketing system will have it’s own API and response formats).
Once you've created the Data connector, add it to your Fin Messenger workflow by adding a new step and selecting Data connector.
You’ll see that it indicates you're using the user’s “Email” field from the Messenger, and that the response provides access to an “Id” field from the external system. The specific data returned in the response will vary depending on the system you’re connecting to, but the concept remains the same.
4. Handle failed contact lookups
In case the Data connector fails (e.g. it returns a 404 error), you should also set up a separate "Create New Contact" Data connector.
The workflow below passes just the user’s email to the "Create New Contact" Data connector, but you could choose to send more data like the user’s name if you have collected it earlier in your workflow.
5. Create a new ticket
Once you’ve found or created the contact, set up another Data connector to "Create new ticket".
You’ll need the contact ID from the previous Data connector to find the user. In the “Collect data inputs” section, add a new input for the contact ID.
Note: You may require multiple data inputs here. You can add as many as you need.
Use the data inputs to build your request body. In the example below, we’re using the built in {{ conversation.transcript }} attribute to send the entire conversation from the Fin Messenger into the external system. Depending on your ticketing system, you may want to add this data as a “Note” or an “Internal Comment”.
6. Map action inputs in your workflow
When you add the "Create new ticket" Data connector to your workflow, you need to tell it what to use as the contact ID (along with any other data you defined as data inputs).
To do this, click the ellipsis in the workflow step and select Map action inputs.
You’ll be presented with a list of input fields like this:
Click the attribute inserter icon {..} to view a list of available data. Any outputs from Data connectors you’ve used earlier in the workflow will appear here.
In the example below, we're using the example_external_id returned by the "Find existing contact" Data connector.
7. Add a fallback in case of API failure
Finally, you need to set up a fallback if the Data connectors fail (e.g. if there's an outage on the ticketing system).
For this, we recommend adding a step to your workflow that asks the user to email you directly, or links to a form they can fill out.
Wrapping up
✅ You’ve created Data connectors to your ticketing system to handle finding a user and creating a user.
✅ You’ve enabled email verification for the email address collected from the user in the Fin Messenger.
✅ You’ve configured your workflow to create a ticket on behalf of the user in your ticketing system, and you’ve provided the conversation transcript in the new ticket so agents have context when they pick up the ticket.
✅ You’ve also set up paths to handle scenarios where calls to the ticketing system API fail.
FAQs
Can I give customers a choice between handover options?
Can I give customers a choice between handover options?
Yes, but it’s typically better to choose one consistent method to avoid confusion.
Which handover method should I use?
Which handover method should I use?
Use Do nothing for informational use cases where no human follow-up is required
Use Hand-off to URL for fast, low-code setup
Use Hand-off with JavaScript for seamless live chat handoff
Use Data connectors for full data sync and automation
Do I need a developer to implement this?
Do I need a developer to implement this?
Do nothing: No
Hand-off to URL: No
Hand-off with JavaScript: Yes
Data connectors: Usually yes, especially for API setup

