Skip to main content
Capabilities and permissions are pure data: copy for the integration detail page, and they render on the activation dialog too, so the person connecting the integration reads every string. Write detail as a sentence you would be happy for a customer’s security reviewer to read.

Capabilities

What the integration does for the user:
Renders as:
  • What it does section
  • label, then — + description
  • icon is accepted by the schema but not rendered here
label and description are both required non-empty strings.

Permissions

What the integration can access:
Renders as:
  • What it can access section
  • label, a badge reading Read or Write from type
  • detail on the line below
label, detail, and type are all required.

Writing for security review

Be honest and specific. A security reviewer will read this against your handlers’ actual behavior. Write the detail as a sentence a customer’s security team would want to read:

What doesn’t enforce access

Capabilities and permissions are disclosure only, not enforcement. What actually constrains you:
  • Storage schemas — only declared keys are readable/writable
  • Egress allowlist — only declared origins are reachable
  • Secret tiers — only account-tier secrets are writable
Declare capabilities and permissions truthfully so the reviewer can verify them against your code during promotion.

Declaration rules

  • Both arrays are optional — omit for a minimal integration
  • type is 'read' | 'write'
  • Each section is omitted entirely when its array is empty
  • type drives only the badge — it does not reorder or group anything
  • Both objects are strict: an unrecognized key is a validation error

Next steps