SDK¶
Status: Current | Last reviewed: 2026-10-07
Use this developer-facing reference when you embed TrueServe's surface-app into your own UI: Salesforce Lightning, an internal dashboard, a customer portal, or anywhere an <iframe> can live.
If you only need to call TrueServe's HTTP APIs, use API instead.
Contents¶
| Doc | Purpose |
|---|---|
| Embedding surface-app | Iframe quickstart, JWT minting, allowed-origins enforcement |
| Embedding the demo phone | Dynamic agent selection, <trueserve-phone>, sizing, call controls, and events |
| Live Genesys transcripts | Transcription-only Copilot, Genesys call-ID binding, SDK events, and external SIP phone gaps |
| postMessage protocol | Every event the iframe and host exchange, with payload schemas |
| Host capabilities | How a host advertises features and pushes context to the agent |
| CRM embed components | The Salesforce and ServiceNow wrapper components (transcript, Agent Assist, copilot) and why surface-app is the single embed UI |
| Reference | typedoc-rendered TypeScript reference for lib/embed/bridge.ts |
Copilot controls¶
The Embedded SDK and TypeScript client support targeted form-schema updates, field confirmation, completion, and explicit repeatable instances. Card dismissal is a local SDK policy, separate from the model’s applicability decision. See Copilot runtime and the form-command protocol.
What you can build¶
The embed surface lets your host UI:
- Render a TrueServe agent's chat / multimodal UI inside an iframe.
- Push context to the agent: page, focused component, and open record.
- Receive turn-by-turn conversation events and host actions the agent suggests, such as opening a modal or composing an email.
- Advertise capabilities so the agent suggests actions the host can carry out.
- Drop discrete, admin-configurable components (transcript, Agent Assist, copilot) onto a Salesforce or ServiceNow page with the ready-made CRM wrappers — each one is a display-mode preset over this same embed surface.
The host UI keeps full control of its own DOM. surface-app is a guest, not a takeover.