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