Adding an integration
The supported-integrations catalog is generated directly from
bundle definitions in the growrig-catalog
repository. A bundle describes an external
service GrowRig can connect to — its capabilities, its config fields, and how it
runs. See External integrations for the full model
(bundles, instances, capabilities, bindings).
Many integrations need no Grow Core code at all — an http runtime is
defined entirely in YAML.
Define the bundle
Section titled “Define the bundle”A bundle lives at:
growrig-catalog/integrations/<category>/<id>/integration.yamlThe path supplies the category (ai, data, notification) and the bundle
id. Alongside it you may place a README.md (rendered on the integration page)
and an icon.svg.
id: notification-webhookname: Notification webhookversion: "1.0.0"category: notificationdescription: Send GrowRig notifications to any HTTP webhook.capabilities: - notification.senddocumentation: README.mdconfig: - { key: endpoint, label: Webhook URL, type: url, required: true } - { key: authorization, label: Auth token, type: password, secret: true }runtime: type: http test: urlField: endpoint method: POST body: { event: growrig.integration.test } operations: notification.send: urlField: endpoint method: POST body: title: "{{input.title}}" message: "{{input.message}}"Fields
Section titled “Fields”capabilities— the typeddomain.actioncapabilities this bundle provides (e.g.ai.chat,weather.forecast,notification.send). Features bind to capabilities, not to your bundle by name.config— the fields a user fills in per instance. Mark credentialssecret: true; they are AES-GCM encrypted at rest and never returned by the API.runtime.type:http— declare the request(s) fortestand each operation, using{{config.*}}and{{input.*}}templating. No Grow Core code needed.builtin— for services that need native handling. Sethandler: <name>and implement the runtime ingrowcore/internal/integrations.
Icon & docs
Section titled “Icon & docs”Place an icon.svg beside the YAML for the catalog card and detail page, and a
README.md (referenced by documentation:) for a longer description — its
leading # H1 is dropped in favour of the page title.
Verify
Section titled “Verify”Both Grow Core and this docs site read the same tree, so a new bundle appears in its category automatically:
npm run devThere is no separate generation step — the site reads the integration
definitions directly at build time from the sibling growrig-catalog
repository (falling back to the bundled snapshot in source/).