Texa DeskDevelopers

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.origin is 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.