@schift-io/integration-contracts
v0.1.0
Published
Zod schemas for Schift first-party integration setup and credential references.
Maintainers
Readme
Schift Integration Contracts
Shared Zod schemas for first-party integration setup payloads.
This package validates the user-facing credential/setup boundary before a UI, SDK, or broker calls Connect Security or Workflow v2. It intentionally accepts credential references and OAuth connection IDs, not raw provider secrets.
What Schift owns:
- OAuth app references for Slack, Google Workspace, and Notion.
- SES sender identity for Schift-managed email.
- Secret references such as
secret://...orkv://...; never raw client secrets in UI node config.
What each user or org owns:
- OAuth
connectionIdvalues after authorizing their own workspace/account. - Discord webhook URLs for the channel they control.
- Sealed
credentialRefvalues for PAT/API-key providers.
V1 setup modes:
discord: webhook URLemail: Schift-managed sender domainslack: OAuth connectiongdrive: OAuth connectiongmail: OAuth connectiongoogle_sheets: OAuth connectionnotion: OAuth connection or sealed API-key referencebolta: sealed API-key reference
API-doc-derived minimum scopes:
- Slack send:
chat:write - Google Drive file search:
https://www.googleapis.com/auth/drive.metadata.readonly - Gmail thread search:
https://www.googleapis.com/auth/gmail.readonly - Google Sheets row append:
https://www.googleapis.com/auth/spreadsheets
