Manage customer profiles
Review customer identity, channels, labels, history, and AI memory in one profile.
Updated 2026-10-10
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.
SelectSwitch between Customers and Archived. Archives can be restored, and a new message may restore one automatically.
Customer profiles bring together identity, source channels, conversation history, labels, notes, and customer memory so the team understands context before replying.
Find a customer#
Open Contacts to search by name, social ID, or email, and switch between Customers and Archived. The default list shows customer, channel/source, location/language, tags, last interaction, and added date. The three-dot menu in the last column contains View details. Email or phone appears below the name. Location and the preferred language stored in the profile appear on separate lines, localized when available. Up to two tags are shown; additional tags appear as +N, with their names available on hover. Added is the date the customer profile was created. Last interaction and Added use the same date format, with the full time available on hover. Use Toggle columns to hide location/language, tags, or added date. Missing details remain empty instead of being inferred. A store-only customer with no conversation does not present a profile-sync timestamp as an interaction. A customer may use different identities across channels. YundaDesk automatically merges them only when a channel provides an exact, verified identity relationship; an email or phone number entered by a visitor in website chat is not treated as verified identity. When identity cannot be established reliably, profiles stay separate.
The Customer column provides contact filters. Channel/source and Location/language also provide structured filters. Choose has email, has phone, or no contact details; filter by messaging channel or store source; and narrow by country/region or unknown location. You can select multiple values within each group, while conditions from different groups apply together. Continue using search for names; Last interaction has no time filter. Hiding Location keeps its selected filters; use Clear all filters to return to the full list.
Select any customer row, or open the three-dot menu in the last column and choose View details, to open the profile in a right-side sheet. Profiles remain available for archived customers and customers without a messaging identity. The profile is organized into Overview, Conversation history, Activity timeline, AI memory, and Store tabs; cross-channel merge and unlink actions live under Conversation history. Use the close button, press Esc, or select outside the profile to return to the list.
For an unarchived customer with a reachable messaging identity, select View conversation from the profile. On wide screens, the profile remains on the right and a narrower quick-reply panel opens beside it on the left. When space is limited, quick reply opens over the profile. Quick reply shows the customer's real conversation messages and follows the same assignment rules as Inbox: take an unassigned or AI-handled conversation first, and handle a conversation owned by another agent in Inbox. Closing quick reply or pressing Esc the first time closes only the quick-reply panel and keeps the customer profile open.
After the first business message on the website, Telegram, or another messaging channel, the corresponding person is added to Customers automatically. A visitor with only initialization or system events and no message interaction is not added. It may take a short time for the customer to appear; if the customer is still missing after a refresh, first confirm that the message was accepted.
What a profile can contain#
- connected channel identities and source;
- past conversations and recent interactions;
- team labels and notes;
- AI memory and follow-up items that apply only to this customer;
- order or behavior summaries from connected systems.
Profile information in both the chat sidebar and customer details shows the original name, username, user ID, email, and phone supplied by each linked channel. Only available values are shown, with their channel identified. Renaming a customer changes the main heading while keeping the original channel name visible when it differs from the heading. Contact details already shown in the main profile are not repeated; identical usernames and user IDs appear once. In the chat sidebar, device type and screen size share one row. The source row shows the channel icon and name; you do not need to switch to Conversation history to read these details.
Website page-view activity shows the page the customer visited. To protect privacy, parameters in the page address are not displayed.
Visible fields depend on connected channels, apps, and workspace capabilities. Order or behavior data cannot appear when no source is connected.
Customers synchronized from stores#
After you connect a store app such as Shopify, Shoplazza, or SHOPLINE, synchronized customers appear in Customers. The list initially shows the customer source; platform customer ID, order count, total spend, source status, and last source update remain available in the customer profile.
Store customers and messaging customers use the same customer profile. Even when a store customer is not linked to a website chat, social account, or another messaging identity, you can maintain basic profile fields such as name, email, phone, country/region, language, and time zone. Viewing or replying to a conversation remains unavailable until a reachable messaging identity exists. Store details update after synchronization instead of refreshing every time you open the profile.
Maintain useful context#
Use labels for team organization, notes for verified facts, and customer memory for durable preferences the AI should apply. Do not record an unverified inference as fact, and avoid sensitive data that is not needed for service.
When you use customer identity management to merge a channel identity into a target customer, related store sources remain on the target profile. Later store syncs do not automatically split a confirmed manual merge. Verify the identity first because an incorrect merge affects both conversation and store context.
Merge, archive, and restore#
Members with customer data management permission can merge or archive a customer from More actions in the customer profile:
- Search for another customer and review the merge preview first. It shows channel identities, conversations, store sources, and field conflicts that will move. A confirmed merge cannot be undone.
- Archiving does not delete customer data. Choose Archived from the Customer status menu at the top of the Customers page to find and restore archived profiles; a new message from that customer may also restore the profile automatically.
- These actions are hidden without the required permission.
Correct or delete data#
Correct inaccurate labels, notes, and memory promptly. To permanently delete customer data, submit a deletion reason from the customer profile. This creates a request for approval and does not delete data immediately. Irreversible erasure starts only after admin approval. Archiving and deletion are different: an archive can be restored, while completed erasure cannot.
