await initSidenet({
orgId: 'org-123',
copilotId: 'copilot-456',
sdkUi: {
text: {
greeting: { title: 'Hello!', subtitle: 'Pick a quick action below.' },
placeholder: 'Ask anything…',
suggestions: [
// agentSlug matches on the part before the first underscore — both
// 'le-closer' and 'le-closer_v1_1' resolve to the same agent. The SDK
// always picks the highest-versioned matching subagent at send time.
{ title: 'Refunds this week', subtitle: '', agentSlug: 'le-comptable' },
// Looser editTolerance — user can rewrite up to 40% before the binding drops.
{ title: 'Top selling hotel', subtitle: 'today', agentSlug: 'le-closer', editTolerance: 0.4 },
// System prompt only — biases the assistant for this one send (no agent binding).
{ title: 'Translate to French', subtitle: 'next message', prompt: 'Respond in concise French regardless of input language.' },
// No agentSlug → routes through the default (dropdown selection or auto).
{ title: 'Free-form question', subtitle: 'no agent bound' },
],
},
},
});
// Or at runtime — partial updates merge into the existing config:
updateSidenetStyledConfig({
text: {
suggestions: [
{ title: 'New idea', subtitle: '', agentSlug: 'le-closer' },
],
},
});