Proactively Engaging Merchants During Onboarding with Freshchat
Sliding into their DMs… to offer support (and it works!)
At Swym, we're always looking for ways to make our merchants’ onboarding experience smoother. Understanding their needs early helps us provide better support and improve our products. So, what if we didn’t wait for merchants to reach out but instead started the conversation ourselves?
Enter: Proactive Chats with Freshchat. Spoiler alert: It was a wild ride.
🚀 The Challenge: Engaging Merchants Proactively
Our goal was simple: talk to merchants before they even realize they need help.
Traditional methods (like emails) weren’t cutting it. Low response rates, delayed replies, and let’s be honest—who even reads emails anymore? We needed real-time engagement, at the right moment, in the right place.
Most chat solutions, including Freshchat, required users to start the conversation. But if there’s an API, there’s a way, right? Challenge accepted.
🛠 Cracking the Code: Using Freshchat APIs for Proactive Conversations
The breakthrough? Freshchat’s REST API lets us create conversations on behalf of users! That meant we could initiate chats before merchants even knew they needed help.
Here’s our workflow:
1. Get User API Call
curl --location --request GET 'https://xx.freshchat.com/v2/users?reference_id=reference-id-freshchat-testing-14' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{access-token}}' \
--header 'Content-Type: application/JSON'
2. Create User API Call
curl --location 'https://xx.freshchat.com/v2/users' \
--header 'accept: application/json' \
--header 'Authorization: Bearer {{access-token}}' \
--header 'Content-Type: application/JSON' \
--data '{ "reference_id": "reference-id-freshchat-testing-14" }'
3. Create Conversation API Call
curl --location 'https://xx.freshchat.com/v2/conversations/' \
--header 'accept: application/json' \
--header 'content-type: application/JSON' \
--header 'Authorization: Bearer {{access-token}}' \
--data '{
"status": "new",
"messages": [
{
"message_parts": [
{
"text": {
"content": "Opening a chat with Swym support to ease your setup process - Test Ticket"
}
}
],
"channel_id": "yyyy",
"message_type": "normal",
"actor_type": "user",
"actor_id": "uuid"
}
],
"channel_id": "yyyy",
"app_id": "abcd",
"users": [
{
"id": "xxxx"
}
]
}
🎢 The Hurdles We Overcame
Of course, it wasn’t all smooth sailing. Here’s what went wrong:
🔴 Chats created via API weren’t showing up in the Freshchat widget
🔴 Bots interfered with proactive messages
🔴 Users needed external & restore IDs, but we missed that at first
After some deep debugging (and copious caffeine), we fixed it by:
✅ Explicitly initializing the widget after conversation creation
✅ Adjusting bot settings to prevent interference
✅ Ensuring every user had both an external ID & restore ID
🤝 Getting Hands-On: The Swym Support Team Steps Up
Handling all these proactive chats with a lean support team? Tricky.
So, our product & engineering team took shifts answering chats directly. The insights we gained were game-changing!
💡 We discovered pain points we didn’t even realize existed.
💡 Our team felt more connected to merchant struggles.
💡 Motivation skyrocketed to fix things faster.
And here’s the kicker: 100% of merchants who engaged via proactive chat completed onboarding successfully. 🚀
📈 Side Effects (The Good Kind)
🔥 We learned that what we thought was working… wasn’t.
🔥 Team morale went way up—fixing issues now felt personal.
🔥 A “merchant-first” mindset became our new norm.
Key Stats:
📢 600+ proactive chats created! 🤯
Top concerns: Setup confusion, feature discovery, “Is this thing even working?” moments 😅
🎯 100% of engaged merchants completed onboarding.
🔮 Looking Ahead: What’s Next?
This is just the beginning! We’re now experimenting with:
✅ More contextual triggers for chat initiation
✅ Personalized messages based on merchant activity
✅ Better timing for engagement
✅ Balancing automation with the human touch
✅ Pinpointing the exact persona of merchants we engage with
What’s Part 2? We’ll explore how to make proactive engagement even more meaningful—turning simple chats into deep, insightful conversations that drive value.
Stay tuned! Have you tried proactive engagement in your product? We’d love to hear your experiences! 👇
Can vouch for the awesome opportunities that Sakshi and Nishaanth's work created for the Product team. But what's more -- the insightful conversations were quite the discovery -- we could even make out when a Dev/ Agency partner was doing the install as against a merchant, even from the tone and tenor of the conversation.