Skip to main content
Point Tied at a URL you control, and it renders that page as its own panel next to the conversation — passing it just enough context to be useful. What you build behind that URL is entirely yours: an internal tool, a record from another system, a custom action panel.

Adding one

1

Open Settings → Integrations → Dashboard apps

Administrators only.
2

Give it a title and a URL

The URL must be http:// or https:// — that’s the only transport a dashboard app supports today. There’s no other app type besides an embedded frame.
3

Save

You can add more than one. Each gets its own panel in the sidebar.

The context payload

Your iframe doesn’t receive context automatically on load — it has to ask. Send this exact string to the parent window:
Tied responds with a message event whose data is a JSON string:
Parse it on receipt:
currentAgent is always just those three fields. conversation and contact are only populated once an agent has an actual conversation open — expect them empty otherwise.
Tied doesn’t push a fresh payload when the agent switches conversations while your panel stays mounted. If you need the current conversation rather than whichever one was open when you loaded, send the fetch-info message again — on an interval, or on whatever signal makes sense for your app.

What it doesn’t do

This is a read-only handoff in one direction — Tied tells your app what’s open, and that’s the entire contract. There’s no message type for your app to act back on the conversation: insert a reply, resolve it, change its assignment. If you need Tied to do something in response to your app, that’s a job for the API, not this channel — see API reference.

Next

Using integrations

Pre-built, OAuth-based connectors, if you don’t want to build and host your own iframe.

Security

What to consider before pointing a sidebar panel at conversation and contact data.