Texa Desk
Dashboard apps
Show your own page beside each conversation in Texa Desk, with the conversation, the contact and the person using it.
A dashboard app is a page of yours that Texa Desk shows in a tab beside each conversation: the customer's orders, their account, their loan schedule. Your team sees it without leaving the conversation.
1. Add it
In Texa Desk, Settings → Integrations → Dashboard apps → Add dashboard app: a title and your
page's URL (https). It appears as a tab on every conversation, for everyone in the account.
2. Get the context
When the tab opens, Texa Desk sends your page the context with postMessage. Ask for it again at
any time by posting chatwoot-dashboard-app:fetch-info to the parent window.
HTML
<script>
window.addEventListener("message", (event) => {
if (event.origin !== "https://desk.texadesk.com") return; // only Texa Desk
let msg;
try { msg = JSON.parse(event.data); } catch { return; }
if (msg.event !== "appContext") return;
const { conversation, contact, currentAgent, theme } = msg.data;
showCustomer(contact.phone_number, contact.email, contact.custom_attributes);
});
// ask again, e.g. after your page reloads
window.parent.postMessage("chatwoot-dashboard-app:fetch-info", "*");
</script>
| Field | What |
|---|---|
conversation |
the open conversation: its id, inbox, status, labels, custom attributes, messages |
contact |
its contact: id, name, email, phone_number, identifier, custom_attributes |
currentAgent |
the person looking: id, name, email |
customAttributes |
the account's custom attribute definitions |
theme |
light or dark, sent again when it changes, so your page can match |
Keep it safe
- Check
event.originis your Texa Desk address before trusting the message. - The context says who is looking, but your page is still yours: protect it with your own sign-in (or a short-lived signed link your server makes), because anyone could open its URL directly.
- Show only what your team needs: the dashboard app is visible to everyone in the account.