Examplary
Start for free
Developer docs

Settings buttons

A SettingsButton adds a button to the app's card, for admins. Its run hook gets the workspace's settings, and the message of an error it throws is shown to the admin:

app.ts
import { SettingsButton } from "@examplary/apps";
 
app.addCapability(
  new SettingsButton({
    id: "sync",
    label: { en: "Sync now" },
    run: async (settings) => {
      await startSync(settings.apiToken);
    },
  }),
);