Container Options
Choose between the default widget container and a custom container in your own app shell.
- Last reviewed
Container Options
This page is only about one decision: should the widget use its default container or render inside yours?
1. Default widget container
This is the fastest path. The SDK opens the flow in its standard floating container and uses the configured theme.
2. Your own container
Use this when the flow should render inside your dialog or panel instead of the default frame.
JavaScript SDK:
const run = client.flow("YOUR_FLOW_ID");
const container = document.getElementById("feedback-dialog-body");
if (container) {
await run.open({ container });
}
React SDK:
function FeedbackPanel() {
const { containerRef, setOpen, shouldRenderContainer } = useFlow({
flowId: "YOUR_FLOW_ID",
container: "custom",
});
return (
<>
<button onClick={() => void setOpen(true)}>Open feedback</button>
{shouldRenderContainer ? <div ref={containerRef} /> : null}
</>
);
}
Separate path: hosted embeds
If you want a hosted iframe or link instead of the widget container, that is a different install path. Use Embed Surveys instead.