baton-sdk that connector developers use. The SDK follows an inversion-of-control pattern: you implement interfaces, the SDK calls your methods.
Connector builder interfaces
Connectorbuilder (entry point)
The main interface your connector must implement:ResourceSyncer (core sync)
The primary interface for syncing data:- V2 receives
SyncOpAttrswith session store for caching - V2 returns structured
SyncOpResultsinstead of raw values - V2 is preferred for new connectors
ResourceTargetedSyncer (single resource fetch)
Extension for fetching a single resource by ID:CAPABILITY_TARGETED_SYNC for faster incremental updates.
ResourceProvisioner (grant/revoke)
For connectors that can modify access:Grant() returns list of created grants, useful when one grant creates multiple assignments.
Enables CAPABILITY_PROVISION.
AccountManager (user provisioning)
For creating user accounts (JIT provisioning):*v2.CreateAccountResponse_SuccessResult- Account created successfully*v2.CreateAccountResponse_ActionRequiredResult- User action needed
CAPABILITY_ACCOUNT_PROVISIONING.
ResourceManager (create/delete resources)
For creating and deleting resources:CAPABILITY_RESOURCE_CREATE and CAPABILITY_RESOURCE_DELETE.
CredentialManager (credential rotation)
For rotating credentials:CAPABILITY_CREDENTIAL_ROTATION.
CustomActionManager (custom actions)
For connectors with custom operations:CAPABILITY_ACTIONS.
EventFeed (real-time events)
For streaming events from the target system:CAPABILITY_EVENT_FEED_V2.
Type builders
Resource builder
User trait options
Account types: