Skip to content

Tabs, actions and settings

Meeting tab

meetingTabs creates your named tab rather than a generic “Plugins” tab. It receives the selected meeting context and only accesses authorized data.

sidebarActions adds a widget opening your UI in a modal. Use it for preparing minutes, action plans or reviewing results.

Plugin settings

The gear icon in My plugins opens configurationUrl in a modal. This surface configures preferences rather than running meeting tasks. Context includes surface: "configuration" and meetingId: "".

elo.onContext(async context => {
  if (context.surface !== 'configuration') return;
  const { user } = await elo.request('identity:read');
  const { settings } = await elo.request('settings:read');
  renderSettings(user, settings);
});
// When the user explicitly submits:
await elo.request('settings:write', { value: { title: 'Minutes', includeEvidence: true } });

Settings are isolated by user/installation and limited to 16 KB of serialized JSON. Do not store provider passwords here; manage external credentials on your backend.

Expected UX

Use responsive layouts, readable contrast and accessible icon labels/tooltips. Prevent duplicate submissions and show button spinners. Success/error toasts should be dismissible and expire after five seconds. Explain unsaved drafts when closing the UI. On meeting changes, cancel requests and discard stale responses.