Connect a WordPress site to YundaDesk
Securely link a WordPress site to a workspace, display the Widget, and verify a real conversation.
Updated 2026-09-07
A white-label chat bubble for your site
Send and receive through your own system
Bring customer email into one inbox
Connect WhatsApp Business to serve customers
Connect Facebook Pages and handle messages
Receive and reply to Instagram DMs
Connect a LINE official account to serve customers
Connect a Telegram bot for customer messages
Connect a Zalo Official Account
Receive and reply to comments
Connect official enterprise customer service accounts
Authorize securely with Facebook
No App Secret, verify token, or Page token to copy. YundaDesk lists manageable Pages and checks the connection automatically.
Authorize myself
The current staff member manages the Facebook Page.
Connect with FacebookSelect a Facebook Page
Complete authorization in the new tab. It closes automatically and returns the result to this workspace.
YundaDesk subscribes messages, postbacks, delivery, and read events, then runs a live connection check.
Finish connectionChoose your email provider
Microsoft OutlookConnect an Outlook or Microsoft 365 mailboxChannel maintenanceMail settings are filled in from your address. You can edit them.
No preset matched. You can enter the mail settings manually in the next step.
Advanced settings
imap.yourbrand.com · 993smtp.yourbrand.com · 465Save disabled first, test IMAP and SMTP, and enable the channel only after both pass.
Connect & enableSelect customer service accounts
Each selected account becomes an independent channel that is enabled immediately, with AI replies off by default.
DEMO_REDACTED_IDENTITY_KEYWhen off, customers wait for a team member.
View the customer identity signing key in channel settings. Your website backend signs an HS256 JWT for the current signed-in user. Keep the key on your backend only.
Include user_id, widget_key, iat, and exp; set aud to yundadesk-widget-identity. Use Unix seconds for timestamps. A 5-minute token lifetime is recommended.
Run this code after website login. Replace /support/identity with your website endpoint, which returns { token }.
const loginSupport = () => YundaDesk.login({
getToken: () => fetch('/support/identity', { credentials: 'same-origin' })
.then(response => {
if (!response.ok) throw new Error('Identity request failed');
return response.json();
})
.then(({ token }) => token),
});
if (window.YundaDesk?.login) loginSupport();
else window.addEventListener('yundadesk:ready', loginSupport, { once: true });Call YundaDesk.logout() before website logout or account switching to clear the customer identity in the Widget.
Optional fields: name, email, phone, avatar, locale. custom_attributes accepts enabled customer custom fields only; use their field keys.
<script src="https://cdn.yundadesk.com/widget.js" data-yd-key="yd_widget_main" async></script>- Widget Key
- yd_widget_main
- Script URL
- https://cdn.yundadesk.com/widget.js
- Direct link
- https://cdn.yundadesk.com/?widget_key=yd_widget_main
Telegram bot setup guide
Three steps: ① find @BotFather to create a bot and get the token → ② paste the token on the left → ③ save and enable; the system receives new messages automatically.
1. Create a Telegram bot
- In Telegram, search for @BotFather and open the chat.
- Send /newbot to create a new bot.
- Follow the prompts to set a display name and username (ending in _bot).
- Copy the bot token returned by BotFather.
2. Enter the token on the left and enable
- Paste the token into “Bot Token” on the left.
- Click “Save” at the top, then “Enable”.
- Click “Test connection” to verify the bot token works.
3. Test the bot
- Search for the bot username in Telegram and start a chat.
- Send any message and AI / an agent will reply automatically.
- See Telegram Bot API docs.
Inbound webhook URL
Copy this full URL into the webhook settings of the third-party console so customer messages reach YundaDesk.
https://api.example.invalid/hooks/channel/line/demo-onlyCopyLINE Official Account setup guide
1. Enable the Messaging API
- Sign in to LINE Official Account Manager, select the official account to connect, and enable the Messaging API under Settings > Messaging API.
- Copy the Channel ID and Channel Secret from the same page.
2. Save and enable in YundaDesk
- Enter the Channel ID and Channel Secret on the left and save. YundaDesk verifies them with LINE and then shows the matching LINE Official Account.
- Click Enable so the channel starts receiving messages.
3. Set up the webhook and test
- Copy the inbound webhook URL above, paste it into Webhook URL under Settings > Messaging API in LINE Official Account Manager, and save.
- Turn on Webhook under Settings > Response settings. We also recommend turning off auto-response and greeting messages so customers don't get duplicate replies.
- Back in YundaDesk, click Test connection. Once it passes, send a message to the official account from LINE and check that it appears in Chat.
The channel credential has expired. Please reauthorize and try again.
Connection failedBot receiving conflict
Bot webhook is active
Telegram bot setup guide
Three steps: ① find @BotFather to create a bot and get the token → ② paste the token on the left → ③ save and enable; the system receives new messages automatically.
1. Create a Telegram bot
- In Telegram, search for @BotFather and open the chat.
- Send /newbot to create a new bot.
- Follow the prompts to set a display name and username (ending in _bot).
- Copy the bot token returned by BotFather.
2. Enter the token on the left and enable
- Paste the token into “Bot Token” on the left.
- Click “Save” at the top, then “Enable”.
- Click “Test connection” to verify the bot token works.
3. Test the bot
Callbacks go through YundaDesk fixed secure egress. If your receiver restricts sources, add the egress IPs to its allowlist.
Callbacks go through YundaDesk fixed secure egress. Allowlist these IPs: 203.0.113.10, 203.0.113.11
View allowlist IPsCustom API setup guide
1. Create a Custom API channel
- Enter the channel name and “your system callback URL” on the left.
- After saving, the system generates a connection key and signing key to confirm message ownership and request authenticity.
- (Optional) Add an IP allowlist to restrict sources.
2. Forward customer messages to YundaDesk
- POST messages as JSON to the webhook URL above.
- Include the connection key, timestamp, signature, and idempotency key in the headers.
- A 200 response means received; other statuses are treated as failures and retried.
3. Receive reply pushes
- Once enabled, YundaDesk pushes agent / AI replies to the “your system callback URL” you entered on the left.
- Deduplicate by external message ID for idempotency.
| Event | Time | Status |
|---|---|---|
| message.created | 2026/07/28 14:20 | Delivered |
| message.created | 2026/07/28 14:06 | Timeout · retrying |
| conversation.assigned | 2026/07/28 13:41 | Signature rejected |
Publish a public help center so customers can find answers on their own and cut repeat questions.
Install one YundaDesk plugin to add live chat, AI support, and a secure Widget binding to a WordPress site.
Use the same YundaDesk WordPress plugin; after WooCommerce is detected and authorized read-only, sync store, customer, order, product, and current cart context.
Connect SHOPLINE to sync orders, customers, and products, and enable YundaDesk storefront chat in the theme when needed.
Connect a BigCommerce store, sync customer order context, and show recent orders in the workspace sidebar.
Can’t find what you need?
Store actions awaiting approval
Review the store-generated preview before approval. Approval triggers one controlled commit; changed inputs require a new preview.
Create recovery discount · DEMO-SAVE10Live store preview · 10% · Demo Yundastore
The store has not returned a definitive result. Do not submit it again; this control only queries the result and never repeats the action.
Check resultRequest
Inputs
Outputs
Usage rules
☑ Require verified customer identity
Only customers verified in the current conversation can use this function. Otherwise, execution pauses.
Request
Enable only if this POST endpoint queries data without changing it.
Inputs
Parameter settings
Sent as a JSON body field. Enter valid JSON and describe its structure in the parameter description.
Request
Inputs
Usage rules
Result verification (optional)Use the API response by default. Add a read-only check if further verification is needed.
View tests and Agent calls for this function.
Select tools for future use. Saving does not grant Agent execution permission.
Credentials are stored securely and never displayed.
Connectors
Choose the functions this Agent can use. Calls follow function settings and business rules in skills.
Search connections or functions
☑ lookup_order
☐ lookup_order Select the output fields available to the Agent first.
☐ lookup_refund Configuration changed. Select again to authorize.
| Customer | Channel / source | Location / language | Tags | Last interaction | Added | |
|---|---|---|---|---|---|---|
| MMaria Garciamaria@example.com | Web Widget | 🇪🇸 SpainSpanish | 05/22/2026 | 05/18/2026 | ||
| LLukas Schneider+49 30 123456 | Telegram | 🇩🇪 GermanyGerman | 05/20/2026 | 05/16/2026 | ||
| AAna Silva | 🇧🇷 BrazilPortuguese | 05/22/2026 | 05/16/2026 |
| Agent | Role | Reception channels | Readiness | Status |
|---|---|---|---|---|
| AAlexManaged AI | General reception | Website · WhatsApp | Ready | Running |
| NNovaManaged AI | General reception | Messenger | Ready | Running |
| SSamExternal AI | General reception | — | Setup incomplete | Draft |
Choose which tools and actions this Agent may call. These switches never replace runtime authorization, approval, or audit.
When a customer asks where an order is, look it up first, then reply in brand voice.
Yuna finds opportunities in real customer conversations. Nothing updates knowledge or skills until you approve it.
↳Yes, Brazil shipping usually takes 7-12 business days.
Human answered·1↳Auto-detect VIP customers · Detect VIP status and prompt agents to follow up first.
Human answered·1·L2 risk↳Opened items can be returned within 30 days if the package is complete.
Human answered·1↳If DHL has not updated for over 72 hours, check the order first, then hand off for compensation review.
You corrected·1·L2 riskManage how Agents handle customer-initiated requests. Skills affect live conversations only after simulation and publishing.
2 items| Skill | Status | Use case | Last 7 days | Actions |
|---|---|---|---|---|
| Order tracking lookupWhen a customer asks where an order is, look it up first, then reply in brand voice. | Active | Lookup | Used 12 times92% success | |
| Auto-detect VIP customersDetect VIP status and prompt agents to follow up first. | Testing | Triage | Not used yet |
Conversation volume, response efficiency, and AI service quality at a glance.
Last 7 daysLast 30 daysLast 90 days| Dimension | Conversations | Messages | Avg. first response | Resolved | Share |
|---|---|---|---|---|---|
| Web Widget | 712 | 4,128 | 38s | 496 | 60% |
| Telegram | 284 | 1,620 | 45s | 219 | 24% |
| 198 | 980 | 3m 12s | 146 | 17% |
Language & timezone
Local time 16:30 · UTC+00:00
Appearance
Account actions
Danger zone
The workspace is disabled immediately. Ops can restore it within 2 hours; after that it is permanently deleted.
Delete workspaceAgent identity
PNG, JPG, or WebP up to 5 MB
Project identity
Reply entries
Create your first quick reply; agents can invoke it by typing /.
New quick replyBrand configuration
256×256 PNG / SVG recommended; you can crop to a square after uploading
Notification permission
Notification settings
Notification scenes
Test notification
Send testSend a test notification to verify everything works.
Send key
Conversation handling
Translation settings
Create a subscription to push events to your own backend for integration or data archiving.
AI Credit
Buy AI CreditCurrent cycle resets on 09/30/2026
Plan quota 10,000
Knowledge import, parsing, and offline compilation do not consume AI Credit
Record list

Subscription active
Current cycle ends 09/30/2026.
AI Credit
Pro and Enterprise support connecting your own AI in Agents. External AI has no additional charge and uses no YundaDesk AI Credits. Third-party AI fees are paid separately; managed AI continues to use Credits.
2,400 used
Current cycle resets on 09/30/2026
1,000 used
Other usage
Seats used
3Channels connected
2Yuna requests completed this month
42New conversations this month
128Messages this month
580Documents indexed
12Deliveries this month
0These workspace-wide rules apply to proactive customer outreach. They do not affect internal reports sent to you.
Cooldown is 24 hours per customer; at most 2 touches in 7 days.
Quiet hours
Contact frequency
Team members
| Member | Role | Status & skills | Last sign-in | Last used | Actions |
|---|---|---|---|---|---|
| ACAnna ChenMeanna@yundadesk.testOnline | Admin | ActiveEnglishRefundsMax 12 concurrent | Today, 09:42 | 2 min ago | |
| LWLeo Wangleo@yundadesk.testOnline | Agent | ActiveEnglishAfter-salesMax 6 concurrent | Yesterday, 18:20 | Today, 10:06 | |
| MGMaria Garciamaria@yundadesk.testOffline | Agent | PendingSpanishPre-salesMax 8 concurrent | — | — |
Could not establish a secure connection. If the site is HTTP-only, crawl it again with an http:// URL
| Document | Size | Tags | Updated | Status | Actions |
|---|---|---|---|---|---|
| demo-owner/support-guide 2 | — | — | Updated Jun 3, 2026, 4:00 PM | Healthy |
| Document | Size | Tags | Updated | Status | Actions |
|---|---|---|---|---|---|
| https://tgo.ai/help/shipping· 47 pages | — | — | — | Searchable | ⋯ |
| Support knowledge · Notion · 128 docs | — | — | Last synced 2026/07/29 03:10 | Retrievable | ⋯ |
| Brazil shipping timelines | — | Updated Jun 3, 2026, 4:00 PM | Searchable | ⋯ | |
| EU customs & duties | — | Updated Jun 4, 2026, 2:30 PM | Indexing | ⋯ | |
| 30-day refund policy | — | Updated Jun 2, 2026, 8:00 PM | Searchable | ⋯ |
| Document | Size | Tags | Updated | Status | Actions |
|---|---|---|---|---|---|
| Brazil shipping timelineshttps://tgo.ai/help/shipping/brazil | — | shipping | 10/04 | Searchable | ⋯ |
| Load more | |||||
| Document | Size | Tags | Updated | Status | Actions |
|---|---|---|---|---|---|
| Brazil shipping policy | — | Updated Jun 3, 2026, 4:05 PM | Waiting to index | ⋯ | |
| EU customs & duties | — | Updated Jun 4, 2026, 2:30 PM | Indexing | ⋯ | |
| Brazil shipping timelines | — | Updated Jun 3, 2026, 4:00 PM | Searchable | ⋯ | |
| Import restrictions PDFError: The PDF contains no readable text | — | Updated Jun 7, 2026, 4:30 PM | Indexing failed | ⋯ |
| Document | Size | Tags | Updated | Status | Actions |
|---|---|---|---|---|---|
| https://tgo.ai/help/shipping · 0 pagesProcessed 3 / Discovered 50 pages | — | — | Crawl job running | Crawling | ⋯ |
| https://tgo.ai/help/shipping · 47 pagesLast sync succeeded · 47 pages | — | — | Last synced Jun 20, 2026, 4:00 PM | Searchable | ⋯ |
| Customer question | Standard answer | Source | Tags | Status | Actions |
|---|---|---|---|---|---|
| Do you ship to Brazil? | Shipping to Brazil usually takes 7-12 business days. | Compiled · Brazil shipping policy | Enabled | ⋯ |
Stop syncing and keep this source's 2 documents. Existing content can still be used in AI replies.
Stop syncing and move this source's 2 documents to Trash. They will no longer be used in AI replies. The remote repository and other sources will not be changed.
Separate with commas; * and ** are supported. Exclusions win. Select at least one file type.
2 files to import
- help/shipping.md
- help/returns.md
No files match. Adjust the selection or filters and preview again.
Connect Notion, choose the pages to sync, and import documents automatically.
Connect NotionNotion is not connected yet
Test the saved reception setup as a visitor without creating a real conversation.
What needs my attention today?
Three things: 2 learning suggestions to review and 1 outreach waiting for your confirmation. Yesterday's auto-resolution hit 84%, up 3 points.
Support Agent · External AI
External setup
Edit external AI- Connection
- OpenAI Chat Completions
- Endpoint
- https://api.example.com/v1
- Key
- Configured · DEMO-REDACTED
Maintain persona, knowledge, and reply logic in your external service. Use “Edit external AI” to update the endpoint or key, and the preview on the right to test replies.
External AI only handles auto-replies. It is not written into YundaDesk AI learnings and does not generate AI skills.
Your plan does not include external AI, so external reception is paused and its configuration is retained. Upgrade to Pro to resume, or create a managed Agent and reassign its channels.
Choose which tools and actions this Agent may call. These switches never replace runtime authorization, approval, or audit.
When a customer asks where an order is, look it up first, then reply in brand voice.
Both visitors and agents will see this name
Online queue, no-agents-online, and agent-joined notices apply only to messaging channels. Email channels do not send these three reception messages.
This Agent can only search explicitly selected content. Its reception focus never grants knowledge access.
Knowledge searchCould not generate suggested questions. Please regenerate them.
Selected channels are handled by the current AI. Channels not selected here will not use AI replies.
SelectAfter an administrator actively selects Connect in WordPress, the browser opens the current workspace to confirm site ownership.
Connecting creates a site-specific link between WordPress and one YundaDesk workspace. The site receives only the limited configuration needed to display its public Widget. WooCommerce store data remains unavailable until you approve the separate read-only authorization.
Before you begin#
- Install and activate the YundaDesk plugin.
- Sign in as a WordPress administrator with permission to manage site settings.
- Use a YundaDesk workspace account with permission to manage apps.
- Make sure the server can reach YundaDesk over HTTPS.
- Decide which YundaDesk workspace should own the site. A site can belong to only one workspace at a time.
Connect the site#
- In WordPress Admin, open Settings → YundaDesk.
- Select Connect YundaDesk.
- Sign in to YundaDesk, or create an account if needed.
- Review the site address, WordPress and plugin versions, detected WooCommerce version, and current workspace.
- For a first connection, select Confirm site connection. When reconnecting, check the original chat channel shown and confirm. You only need to choose when several previous channels are found. This does not grant WooCommerce access.
- When YundaDesk says the authorization is ready, select Return to WordPress. This explicit return opens the same WordPress Admin page and finishes the secure connection.
- Confirm that the connection status is Connected.
The return link is accepted only for the same WordPress Admin origin that started the connection. If the page says the request expired, return to Settings → YundaDesk and start again instead of reusing the old link.
Reconnect or restore a previous site#
Start again from Settings → YundaDesk in the current WordPress Admin, and make sure you are in the intended workspace. Use the options offered on the confirmation page:
If the page still shows Connected without a connection button, but you need to pair again or update the site address, disconnect the current site on this page first. Wait for confirmation, then select Connect YundaDesk. The Widget pauses while disconnected; do not delete another site.
| Page display | What to do |
|---|---|
| Reconnect this WordPress site | Check the chat channel and select “Confirm reconnection”; past conversations are kept without creating another channel |
| Installation information has changed | Confirm this address still belongs to your original website before restoring the channel shown; cancel if unsure |
| Confirm the site address change | Check the previous address, current address and original channel, then select “Update and connect” |
| Choose the chat channel to restore | Compare addresses, last connection times and references, select the correct history and choose “Confirm restoration”; nothing is preselected |
Ordinary reconnection does not offer a separate new connection. A new chat channel is created only for a first connection with no related history.
Do not select a historical connection just because its address matches. If the intended site is unclear, check with your workspace administrator first. Restoring a connection does not merge another site's history or renew WooCommerce access.
After confirming, select Return to WordPress. Check for Connected in WordPress, verify the site address and channel in YundaDesk, and test a new message as described below.
If the page says the connection changed, select Refresh pairing details and review it again. If the original chat channel is unavailable, ask your workspace administrator to check it before starting again. Do not delete another site to bypass the warning.
Verify the storefront Widget#
- Open a public page in a private browser window.
- Confirm that the YundaDesk launcher appears.
- Open it and send a unique test message.
- In the YundaDesk Inbox, confirm that a new website conversation appears for the correct site.
- Reply from the Inbox and confirm that the visitor receives the reply in the Widget.

The plugin loads the Widget on public rendered pages only. It does not inject it into WordPress Admin, login pages, feeds, or REST requests. Only the public Widget identifier is exposed to the storefront; connection credentials and WooCommerce credentials are never placed in page source.
Connect more than one site#
A workspace can contain several WordPress sites. Install the same plugin on each site and complete the connection separately. Each site keeps its own status, Widget configuration, WooCommerce state, and disconnect lifecycle.
Manage current sites in YundaDesk#
Open Apps → WordPress → Manage sites to see the current connection count and each site's full address. Site chat and WooCommerce read-only data have separate statuses. Not enabling WooCommerce or not yet granting read-only access does not mean site chat has failed. Read-only members can inspect status; connection and disconnect actions require the appropriate management permission.
Select Open WordPress settings to visit that site's admin page. Disconnect in WordPress also only opens the admin page; it does not disconnect anything until you confirm the action in WordPress. Returning to YundaDesk refreshes the status. Select Retry if loading fails.
Installation guide opens the official WordPress/WooCommerce guide in a new tab. Close only dismisses the details; it does not disconnect the site or change authorization.
If you can manage apps and the official installation entry is available, Install on another site appears beside Close. It opens the official WordPress.org plugin directory in a new tab, leaving the current site and details unchanged. Install the plugin on the other WordPress site and complete its connection separately.
Sites leave this list after disconnection completes, while conversation history is retained. When all sites have finished disconnecting, the cards no longer show an installed status and return to the same official installation entry used for a first connection. When available, Install on WordPress opens the WordPress.org plugin directory in a new tab, without a site-management or connection-instructions dialog first. The WooCommerce card's official installation entry opens the same plugin. If the entry is not available yet, follow the status shown on the card.
An already installed plugin does not need to be downloaded again. You can reconnect directly from Settings → YundaDesk in WordPress Admin. Previous connections are offered only when confirming an actual connection request.
Next step#
If WooCommerce is active, continue with Enable the read-only WooCommerce enhancement.
