Wechaty Freshdesk Plugin helps Freshdesk unifies conversations from WeChat, and helps you resolve issues across channels effortlessly!
Freshdesk is a cloud-based helpdesk system that offers powerful solutions for customer service.
Wechaty Freshdesk Plugin helps Freshdesk unifies conversations from WeChat, and helps you resolve issues across channels effortlessly!
Wechaty Freshdesk Plugin helps you to manage your customers/leads/users in the WeChat Room, with the power of the Freshdesk service.
import { WechatyFreshdesk } from 'wechaty-freshdesk'
const config = {
contact: true, // enable direct message.
room: 'room_id@chatroom', // enable a specific room. `true` for enable all room
mention : true,
webhookProxyUrl : 'https://smee.io/your_smee_io_proxy_url',
apiKey : 'your_freshdesk_api_key',
portalUrl : 'https://your_portal_name.freshdesk.com',
}
const FreshdeskPlugin = WechatyFreshdesk(config)
const wechaty = new Wechaty()
wechaty.use(FreshdeskPlugin)
config.contact
: Whether to allow direct message to be sync with ticket reply. false
to deny all, true
for allow all; Supports contact id(string
) and contact name(RegExp
). You can also mix them in array.config.room
: The room id of your service WeChat room.config.mention
: If set to true
, customers need to use @
to mention the bot when they want to ask questions.config.webhookProxyUrl
: A smee.io
link that you need to set it to receive the Freshdesk Webhook events.config.apiKey
: The API Key for your Freshdesk account.
In order to receive the reply and close events from Freshdesk, we need to configure the Freshdesk platform:
Note: Freshdesk Garden Plan (or above) is required, because we need Assuming identities feature.
Admin
, then select Ticket Fields
under the General Settings
.Single-line text
fields:Wechaty Room
Wechaty Contact
Doc: Creating custom fields in your ticket form
Admin
, then select Automations
.Rules that run on
, there will be three selections: Ticket Creation
, Time Triggers
, and Ticket Updates
.Ticket Updates
RuleTicket Updates
, click the New rule
button.Ticket is updated
an action performed by Agent
public Note is Added
When Reply is Sent
Trigger Webhook Method
- POST Url: https://smee.io/your_smee_io_proxy_urlAnd make sure you have configured the Webhook Content as the following:
Ticket ID {{ticket.id}}
Last Public Comment {{ticket.latest_public_comment}}
Wechaty Room {{ticket.cf_wechaty_room}}
Wechaty Contact {{ticket.cf_wechaty_contact}}
Then click Preview and save
.
Note: the
POST Url
must be as same as thewebhookProxyUrl
setting in theconfig
.
See:
The following two environment variables will be used if the required information is not provided by the config.
WECHATY_PLUGIN_FRESHDESK_PORTAL_URL
process.env.WECHATY_PLUGIN_FRESHDESK_PORTAL_URL
will be used if the config.portalUrl
is not provided.
WECHATY_PLUGIN_FRESHDESK_API_KEY
process.env.WECHATY_PLUGIN_FRESHDESK_API_KEY
will be used if the config.apiKey
is not provided.
Learn more about the authorization token of freshdesk: Freshdesk API - How to find your API key
WECHATY_PLUGIN_FRESHDESK_WEBHOOK_PROXY_URL
We receive webhook payloads with the help from
process.env.WECHATY_PLUGIN_FRESHDESK_WEBHOOK_PROXY_URL
will be used if the config.webhookProxyUrl
is not provided.
See:
Our Friday BOT are using wechaty-freshdesk
to connect our WeChat customers to Freshdesk.
You can read the source code from: https://github.com/wechaty/friday/blob/master/src/plugins/freshdesk.ts
Release 1.0 of Wechaty Freshdesk Plugin.
wechaty-plugin-freshdesk
to wechaty-freshdesk
After the Freshdesk trail was end, we found that the following features are belonging to different plans:
Assuming identities requires Garden Plan
Supported both direct message and room messages to be managed by freshdesk via tickets
twitter_id
as a workaround of unique_external_id
roomId
and contactId
from Wechatyat
to mention
in configHuan LI (李卓桓),
Tencent TVP of Chatbot, \zixia@zixia.net\