@elevasis/sdk 1.21.0 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/cli.cjs +1239 -173
  2. package/dist/index.d.ts +1752 -464
  3. package/dist/index.js +3477 -143
  4. package/dist/node/index.d.ts +1 -0
  5. package/dist/node/index.js +19 -1
  6. package/dist/test-utils/index.d.ts +1188 -127
  7. package/dist/test-utils/index.js +3359 -152
  8. package/dist/worker/index.js +3148 -80
  9. package/package.json +2 -2
  10. package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
  11. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
  12. package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
  13. package/reference/claude-config/registries/graph-skills.json +4 -4
  14. package/reference/claude-config/registries/knowledge-flags.json +0 -2
  15. package/reference/claude-config/rules/active-change-index.md +80 -80
  16. package/reference/claude-config/rules/agent-start-here.md +277 -277
  17. package/reference/claude-config/rules/deployment.md +57 -57
  18. package/reference/claude-config/rules/error-handling.md +56 -56
  19. package/reference/claude-config/rules/execution.md +40 -40
  20. package/reference/claude-config/rules/frontend.md +4 -4
  21. package/reference/claude-config/rules/observability.md +31 -31
  22. package/reference/claude-config/rules/operations.md +29 -17
  23. package/reference/claude-config/rules/organization-model.md +113 -81
  24. package/reference/claude-config/rules/organization-os.md +115 -113
  25. package/reference/claude-config/rules/package-taxonomy.md +33 -33
  26. package/reference/claude-config/rules/platform.md +42 -42
  27. package/reference/claude-config/rules/shared-types.md +49 -46
  28. package/reference/claude-config/rules/task-tracking.md +47 -47
  29. package/reference/claude-config/rules/ui.md +200 -200
  30. package/reference/claude-config/rules/vibe.md +235 -235
  31. package/reference/claude-config/scripts/statusline-command.js +18 -18
  32. package/reference/claude-config/settings.json +34 -34
  33. package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
  34. package/reference/claude-config/skills/dsp/SKILL.md +66 -66
  35. package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
  36. package/reference/claude-config/skills/explore/SKILL.md +6 -6
  37. package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
  38. package/reference/claude-config/skills/knowledge/SKILL.md +314 -299
  39. package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
  40. package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -159
  41. package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
  42. package/reference/claude-config/skills/knowledge/operations/features.md +76 -76
  43. package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
  44. package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
  45. package/reference/claude-config/skills/knowledge/operations/labels.md +94 -94
  46. package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
  47. package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
  48. package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
  49. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  50. package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
  51. package/reference/claude-config/skills/save/SKILL.md +3 -3
  52. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  53. package/reference/claude-config/skills/status/SKILL.md +59 -59
  54. package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
  55. package/reference/claude-config/skills/sync/SKILL.md +47 -47
  56. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  57. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  58. package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
  59. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  60. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
  61. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
  62. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
  63. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
  64. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
  65. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
  66. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
  67. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
  68. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
  69. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
  70. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
  71. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  72. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
  73. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
  74. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
  75. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
  76. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
  77. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
  78. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
  79. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
  80. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
  81. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -30
  82. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +45 -0
  83. package/reference/claude-config/sync-notes/README.md +43 -43
  84. package/reference/cli.mdx +808 -808
  85. package/reference/concepts.mdx +146 -146
  86. package/reference/deployment/api.mdx +297 -297
  87. package/reference/deployment/command-center.mdx +209 -209
  88. package/reference/deployment/index.mdx +195 -195
  89. package/reference/deployment/provided-features.mdx +107 -107
  90. package/reference/deployment/ui-execution.mdx +250 -250
  91. package/reference/examples/organization-model.ts +171 -84
  92. package/reference/framework/agent.mdx +156 -156
  93. package/reference/framework/index.mdx +195 -195
  94. package/reference/framework/interaction-guidance.mdx +182 -182
  95. package/reference/framework/memory.mdx +326 -326
  96. package/reference/framework/project-structure.mdx +282 -282
  97. package/reference/framework/tutorial-system.mdx +135 -135
  98. package/reference/getting-started.mdx +142 -142
  99. package/reference/index.mdx +106 -106
  100. package/reference/packages/core/src/README.md +14 -14
  101. package/reference/packages/core/src/business/README.md +2 -2
  102. package/reference/packages/core/src/knowledge/README.md +32 -32
  103. package/reference/packages/core/src/organization-model/README.md +149 -149
  104. package/reference/packages/core/src/test-utils/README.md +37 -37
  105. package/reference/packages/ui/src/api/README.md +18 -18
  106. package/reference/packages/ui/src/app/README.md +24 -24
  107. package/reference/packages/ui/src/auth/README.md +18 -18
  108. package/reference/packages/ui/src/components/README.md +24 -24
  109. package/reference/packages/ui/src/execution/README.md +16 -16
  110. package/reference/packages/ui/src/features/README.md +28 -28
  111. package/reference/packages/ui/src/graph/README.md +16 -16
  112. package/reference/packages/ui/src/hooks/README.md +23 -23
  113. package/reference/packages/ui/src/initialization/README.md +19 -19
  114. package/reference/packages/ui/src/knowledge/README.md +31 -31
  115. package/reference/packages/ui/src/organization/README.md +18 -18
  116. package/reference/packages/ui/src/profile/README.md +19 -19
  117. package/reference/packages/ui/src/provider/README.md +32 -32
  118. package/reference/packages/ui/src/router/README.md +18 -18
  119. package/reference/packages/ui/src/sse/README.md +13 -13
  120. package/reference/packages/ui/src/test-utils/README.md +7 -7
  121. package/reference/packages/ui/src/theme/README.md +23 -23
  122. package/reference/packages/ui/src/theme/presets/README.md +19 -19
  123. package/reference/packages/ui/src/types/README.md +16 -16
  124. package/reference/packages/ui/src/utils/README.md +18 -18
  125. package/reference/packages/ui/src/zustand/README.md +18 -18
  126. package/reference/platform-tools/adapters-integration.mdx +301 -301
  127. package/reference/platform-tools/adapters-platform.mdx +553 -553
  128. package/reference/platform-tools/index.mdx +217 -217
  129. package/reference/platform-tools/type-safety.mdx +82 -82
  130. package/reference/resources/index.mdx +349 -349
  131. package/reference/resources/patterns.mdx +449 -449
  132. package/reference/resources/types.mdx +116 -116
  133. package/reference/roadmap.mdx +165 -165
  134. package/reference/runtime.mdx +173 -173
  135. package/reference/scaffold/core/organization-graph.mdx +110 -90
  136. package/reference/scaffold/core/organization-model.mdx +225 -213
  137. package/reference/scaffold/index.mdx +67 -67
  138. package/reference/scaffold/operations/propagation-pipeline.md +77 -77
  139. package/reference/scaffold/operations/scaffold-maintenance.md +12 -12
  140. package/reference/scaffold/operations/workflow-recipes.md +138 -138
  141. package/reference/scaffold/recipes/add-a-feature.md +307 -85
  142. package/reference/scaffold/recipes/add-a-resource.md +137 -103
  143. package/reference/scaffold/recipes/customize-knowledge-browser.md +5 -5
  144. package/reference/scaffold/recipes/customize-organization-model.md +275 -138
  145. package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
  146. package/reference/scaffold/recipes/extend-crm.md +3 -3
  147. package/reference/scaffold/recipes/extend-lead-gen.md +394 -394
  148. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -118
  149. package/reference/scaffold/recipes/index.md +46 -46
  150. package/reference/scaffold/recipes/query-the-knowledge-graph.md +197 -170
  151. package/reference/scaffold/reference/contracts.md +2136 -2093
  152. package/reference/scaffold/reference/glossary.md +76 -76
  153. package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
  154. package/reference/scaffold/ui/customization.md +243 -243
  155. package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
  156. package/reference/scaffold/ui/feature-shell.mdx +72 -72
  157. package/reference/scaffold/ui/recipes.md +221 -214
  158. package/reference/spine/spine-primer.md +96 -96
  159. package/reference/templates/index.mdx +47 -47
  160. package/reference/troubleshooting.mdx +223 -223
@@ -1,301 +1,301 @@
1
- ---
2
- title: Integration Adapters
3
- description: Type-safe wrappers for third-party integrations -- Attio, Stripe, Google Sheets, Instantly, SignatureAPI, Resend, Dropbox, Apify, Gmail, and Tomba -- with full autocomplete and compile-time checking
4
- loadWhen: "Using typed adapters for integration tools, or needs to know what integration adapter methods are available"
5
- ---
6
-
7
- Integration adapters are factory functions that bind a credential once and return a typed object with all methods available for that service. They wrap `platform.call()` with full TypeScript autocomplete and compile-time method checking.
8
-
9
- All integration adapters are imported from `@elevasis/sdk/worker`. For platform service adapters (scheduler, storage, llm, etc.), see [Platform Adapters](adapters-platform.mdx).
10
-
11
- ```typescript
12
- import {
13
- createAttioAdapter, createStripeAdapter,
14
- createGoogleSheetsAdapter, createInstantlyAdapter,
15
- createSignatureApiAdapter, createResendAdapter, createDropboxAdapter,
16
- createApifyAdapter, createGmailAdapter,
17
- createTombaAdapter,
18
- } from '@elevasis/sdk/worker'
19
- ```
20
-
21
- ---
22
-
23
- ## Quick Reference
24
-
25
- | Import | Methods | Category |
26
- | --------------------------------- | ------- | ------------------- |
27
- | `createAttioAdapter(cred)` | 12 | CRM |
28
- | `createGoogleSheetsAdapter(cred)` | 13 | Spreadsheets |
29
- | `createStripeAdapter(cred)` | 6 | Payments |
30
- | `createInstantlyAdapter(cred)` | 5 | Email Campaigns |
31
- | `createSignatureApiAdapter(cred)` | 4 | eSignature |
32
- | `createTombaAdapter(cred)` | 3 | Email Discovery |
33
- | `createResendAdapter(cred)` | 2 | Transactional Email |
34
- | `createDropboxAdapter(cred)` | 2 | File Storage |
35
- | `createApifyAdapter(cred)` | 1 | Web Scraping |
36
- | `createGmailAdapter(cred)` | 1 | Email (Gmail) |
37
-
38
- Multiple adapters with different credentials work simultaneously:
39
-
40
- ```typescript
41
- const prodAttio = createAttioAdapter('prod-attio')
42
- const testAttio = createAttioAdapter('test-attio')
43
- ```
44
-
45
- ---
46
-
47
- ## Attio CRM Adapter
48
-
49
- Factory pattern -- bind a credential once, use 12 typed methods.
50
-
51
- ```typescript
52
- const attio = createAttioAdapter('my-attio-credential')
53
- ```
54
-
55
- ### Methods
56
-
57
- | Method | Params | Returns |
58
- | ----------------- | ----------------------- | ----------------------- |
59
- | `createRecord` | `CreateRecordParams` | `CreateRecordResult` |
60
- | `updateRecord` | `UpdateRecordParams` | `UpdateRecordResult` |
61
- | `listRecords` | `QueryRecordsParams` | `QueryRecordsResult` |
62
- | `getRecord` | `GetRecordParams` | `GetRecordResult` |
63
- | `deleteRecord` | `DeleteRecordParams` | `DeleteRecordResult` |
64
- | `listObjects` | none | `ListObjectsResult` |
65
- | `listAttributes` | `ListAttributesParams` | `ListAttributesResult` |
66
- | `createAttribute` | `CreateAttributeParams` | `CreateAttributeResult` |
67
- | `updateAttribute` | `UpdateAttributeParams` | `UpdateAttributeResult` |
68
- | `createNote` | `CreateNoteParams` | `CreateNoteResult` |
69
- | `listNotes` | `ListNotesParams` | `ListNotesResult` |
70
- | `deleteNote` | `DeleteNoteParams` | `DeleteNoteResult` |
71
-
72
- ### Examples
73
-
74
- ```typescript
75
- // Create a company record
76
- const company = await attio.createRecord({
77
- object: 'companies',
78
- values: {
79
- name: [{ value: 'Acme Corp' }],
80
- domains: [{ domain: 'acme.com' }],
81
- },
82
- })
83
-
84
- // Query deals with filters
85
- const deals = await attio.listRecords({
86
- object: 'deals',
87
- filter: {
88
- operator: 'and',
89
- filters: [
90
- { field: 'stage', operator: 'equals', value: 'proposal' },
91
- ],
92
- },
93
- sorts: [{ field: 'created_at', direction: 'desc' }],
94
- limit: 20,
95
- })
96
-
97
- // Create a note on a record
98
- await attio.createNote({
99
- parentObject: 'deals',
100
- parentRecordId: 'rec_abc123',
101
- title: 'Discovery call notes',
102
- content: 'Key takeaways from the call...',
103
- })
104
- ```
105
-
106
- ---
107
-
108
- ## Google Sheets Adapter
109
-
110
- Factory pattern -- 13 methods including workflow-friendly helpers (`getRowByValue`, `upsertRow`, `filterRows`).
111
-
112
- ```typescript
113
- const sheets = createGoogleSheetsAdapter('my-google-credential')
114
- ```
115
-
116
- ### Methods
117
-
118
- | Method | Params | Returns |
119
- | ------------------------ | ------------------------------ | ------------------------------ |
120
- | `readSheet` | `ReadSheetParams` | `ReadSheetResult` |
121
- | `writeSheet` | `WriteSheetParams` | `WriteSheetResult` |
122
- | `appendRows` | `AppendRowsParams` | `AppendRowsResult` |
123
- | `clearRange` | `ClearRangeParams` | `ClearRangeResult` |
124
- | `getSpreadsheetMetadata` | `GetSpreadsheetMetadataParams` | `GetSpreadsheetMetadataResult` |
125
- | `batchUpdate` | `BatchUpdateParams` | `BatchUpdateResult` |
126
- | `getHeaders` | `GetHeadersParams` | `GetHeadersResult` |
127
- | `getLastRow` | `GetLastRowParams` | `GetLastRowResult` |
128
- | `getRowByValue` | `GetRowByValueParams` | `GetRowByValueResult` |
129
- | `updateRowByValue` | `UpdateRowByValueParams` | `UpdateRowByValueResult` |
130
- | `upsertRow` | `UpsertRowParams` | `UpsertRowResult` |
131
- | `filterRows` | `FilterRowsParams` | `FilterRowsResult` |
132
- | `deleteRowByValue` | `DeleteRowByValueParams` | `DeleteRowByValueResult` |
133
-
134
- ---
135
-
136
- ## Stripe Adapter
137
-
138
- Factory pattern -- 6 methods for payment links and checkout sessions.
139
-
140
- ```typescript
141
- const stripe = createStripeAdapter('my-stripe-credential')
142
- ```
143
-
144
- ### Methods
145
-
146
- | Method | Params | Returns |
147
- | ----------------------- | ----------------------------- | ----------------------------- |
148
- | `createPaymentLink` | `CreatePaymentLinkParams` | `CreatePaymentLinkResult` |
149
- | `getPaymentLink` | `GetPaymentLinkParams` | `GetPaymentLinkResult` |
150
- | `updatePaymentLink` | `UpdatePaymentLinkParams` | `UpdatePaymentLinkResult` |
151
- | `listPaymentLinks` | `ListPaymentLinksParams` | `ListPaymentLinksResult` |
152
- | `createAutoPaymentLink` | `CreateAutoPaymentLinkParams` | `CreateAutoPaymentLinkResult` |
153
- | `createCheckoutSession` | `CreateCheckoutSessionParams` | `CreateCheckoutSessionResult` |
154
-
155
- ---
156
-
157
- ## Instantly Adapter
158
-
159
- Factory pattern -- 5 methods for email campaign management.
160
-
161
- ```typescript
162
- const instantly = createInstantlyAdapter('my-instantly-credential')
163
- ```
164
-
165
- ### Methods
166
-
167
- | Method | Params | Returns |
168
- | ----------------------- | ----------------------------- | ----------------------------- |
169
- | `sendReply` | `SendReplyParams` | `SendReplyResult` |
170
- | `removeFromSubsequence` | `RemoveFromSubsequenceParams` | `RemoveFromSubsequenceResult` |
171
- | `getEmails` | `GetEmailsParams` | `GetEmailsResult` |
172
- | `updateInterestStatus` | `UpdateInterestStatusParams` | `UpdateInterestStatusResult` |
173
- | `addToCampaign` | `AddToCampaignParams` | `AddToCampaignResult` |
174
-
175
- ---
176
-
177
- ## SignatureAPI Adapter
178
-
179
- Factory pattern -- 4 methods for eSignature envelope operations.
180
-
181
- ```typescript
182
- const signatureApi = createSignatureApiAdapter('my-signatureapi-credential')
183
- ```
184
-
185
- ### Methods
186
-
187
- | Method | Params | Returns |
188
- | ------------------ | ------------------------ | ------------------------ |
189
- | `createEnvelope` | `CreateEnvelopeParams` | `CreateEnvelopeResult` |
190
- | `voidEnvelope` | `VoidEnvelopeParams` | `VoidEnvelopeResult` |
191
- | `downloadDocument` | `DownloadDocumentParams` | `DownloadDocumentResult` |
192
- | `getEnvelope` | `GetEnvelopeParams` | `GetEnvelopeResult` |
193
-
194
- ---
195
-
196
- ## Tomba Adapter
197
-
198
- Factory pattern -- 3 methods for email discovery and verification.
199
-
200
- ```typescript
201
- const tomba = createTombaAdapter('elevasis-tomba')
202
- ```
203
-
204
- **Credential type:** `api-key-secret` (requires both API Key and API Secret)
205
-
206
- ### Methods
207
-
208
- | Method | Params | Returns |
209
- | --------------- | -------------------------- | -------------------------- |
210
- | `emailFinder` | `TombaEmailFinderParams` | `TombaEmailFinderResult` |
211
- | `domainSearch` | `TombaDomainSearchParams` | `TombaDomainSearchResult` |
212
- | `emailVerifier` | `TombaEmailVerifierParams` | `TombaEmailVerifierResult` |
213
-
214
- ### Examples
215
-
216
- ```typescript
217
- // Find email by name + domain
218
- const found = await tomba.emailFinder({
219
- domain: 'stripe.com',
220
- firstName: 'John',
221
- lastName: 'Doe',
222
- })
223
-
224
- // List all emails at a domain (up to 10)
225
- const results = await tomba.domainSearch({ domain: 'stripe.com' })
226
-
227
- // Verify a known email address
228
- const verified = await tomba.emailVerifier({ email: 'john@stripe.com' })
229
- ```
230
-
231
- ---
232
-
233
- ## Resend Adapter
234
-
235
- Factory pattern -- 2 methods for transactional email.
236
-
237
- ```typescript
238
- const resend = createResendAdapter('my-resend-credential')
239
- ```
240
-
241
- ### Methods
242
-
243
- | Method | Params | Returns |
244
- | ----------- | ----------------------- | ----------------------- |
245
- | `sendEmail` | `ResendSendEmailParams` | `ResendSendEmailResult` |
246
- | `getEmail` | `ResendGetEmailParams` | `ResendGetEmailResult` |
247
-
248
- ---
249
-
250
- ## Dropbox Adapter
251
-
252
- Factory pattern -- 2 methods for file operations.
253
-
254
- ```typescript
255
- const dropbox = createDropboxAdapter('my-dropbox-credential')
256
- ```
257
-
258
- ### Methods
259
-
260
- | Method | Params | Returns |
261
- | -------------- | -------------------- | -------------------- |
262
- | `uploadFile` | `UploadFileParams` | `UploadFileResult` |
263
- | `createFolder` | `CreateFolderParams` | `CreateFolderResult` |
264
-
265
- ---
266
-
267
- ## Apify Adapter
268
-
269
- Factory pattern -- 1 method for running web scraping actors.
270
-
271
- ```typescript
272
- const apify = createApifyAdapter('my-apify-credential')
273
- ```
274
-
275
- ### Methods
276
-
277
- | Method | Params | Returns |
278
- | ---------- | ---------------- | ---------------- |
279
- | `runActor` | `RunActorParams` | `RunActorResult` |
280
-
281
- ---
282
-
283
- ## Gmail Adapter
284
-
285
- Factory pattern -- 1 method for sending email via Gmail API.
286
-
287
- ```typescript
288
- const gmail = createGmailAdapter('my-gmail-credential')
289
- ```
290
-
291
- ### Methods
292
-
293
- | Method | Params | Returns |
294
- | ----------- | ---------------------- | ---------------------- |
295
- | `sendEmail` | `GmailSendEmailParams` | `GmailSendEmailResult` |
296
-
297
- ---
298
-
299
- For platform service adapters (scheduler, storage, llm, pdf, approval, acqDb, notifications, execution, email), see [Platform Adapters](adapters-platform.mdx).
300
-
301
- **Last Updated:** 2026-03-05
1
+ ---
2
+ title: Integration Adapters
3
+ description: Type-safe wrappers for third-party integrations -- Attio, Stripe, Google Sheets, Instantly, SignatureAPI, Resend, Dropbox, Apify, Gmail, and Tomba -- with full autocomplete and compile-time checking
4
+ loadWhen: "Using typed adapters for integration tools, or needs to know what integration adapter methods are available"
5
+ ---
6
+
7
+ Integration adapters are factory functions that bind a credential once and return a typed object with all methods available for that service. They wrap `platform.call()` with full TypeScript autocomplete and compile-time method checking.
8
+
9
+ All integration adapters are imported from `@elevasis/sdk/worker`. For platform service adapters (scheduler, storage, llm, etc.), see [Platform Adapters](adapters-platform.mdx).
10
+
11
+ ```typescript
12
+ import {
13
+ createAttioAdapter, createStripeAdapter,
14
+ createGoogleSheetsAdapter, createInstantlyAdapter,
15
+ createSignatureApiAdapter, createResendAdapter, createDropboxAdapter,
16
+ createApifyAdapter, createGmailAdapter,
17
+ createTombaAdapter,
18
+ } from '@elevasis/sdk/worker'
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Quick Reference
24
+
25
+ | Import | Methods | Category |
26
+ | --------------------------------- | ------- | ------------------- |
27
+ | `createAttioAdapter(cred)` | 12 | CRM |
28
+ | `createGoogleSheetsAdapter(cred)` | 13 | Spreadsheets |
29
+ | `createStripeAdapter(cred)` | 6 | Payments |
30
+ | `createInstantlyAdapter(cred)` | 5 | Email Campaigns |
31
+ | `createSignatureApiAdapter(cred)` | 4 | eSignature |
32
+ | `createTombaAdapter(cred)` | 3 | Email Discovery |
33
+ | `createResendAdapter(cred)` | 2 | Transactional Email |
34
+ | `createDropboxAdapter(cred)` | 2 | File Storage |
35
+ | `createApifyAdapter(cred)` | 1 | Web Scraping |
36
+ | `createGmailAdapter(cred)` | 1 | Email (Gmail) |
37
+
38
+ Multiple adapters with different credentials work simultaneously:
39
+
40
+ ```typescript
41
+ const prodAttio = createAttioAdapter('prod-attio')
42
+ const testAttio = createAttioAdapter('test-attio')
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Attio CRM Adapter
48
+
49
+ Factory pattern -- bind a credential once, use 12 typed methods.
50
+
51
+ ```typescript
52
+ const attio = createAttioAdapter('my-attio-credential')
53
+ ```
54
+
55
+ ### Methods
56
+
57
+ | Method | Params | Returns |
58
+ | ----------------- | ----------------------- | ----------------------- |
59
+ | `createRecord` | `CreateRecordParams` | `CreateRecordResult` |
60
+ | `updateRecord` | `UpdateRecordParams` | `UpdateRecordResult` |
61
+ | `listRecords` | `QueryRecordsParams` | `QueryRecordsResult` |
62
+ | `getRecord` | `GetRecordParams` | `GetRecordResult` |
63
+ | `deleteRecord` | `DeleteRecordParams` | `DeleteRecordResult` |
64
+ | `listObjects` | none | `ListObjectsResult` |
65
+ | `listAttributes` | `ListAttributesParams` | `ListAttributesResult` |
66
+ | `createAttribute` | `CreateAttributeParams` | `CreateAttributeResult` |
67
+ | `updateAttribute` | `UpdateAttributeParams` | `UpdateAttributeResult` |
68
+ | `createNote` | `CreateNoteParams` | `CreateNoteResult` |
69
+ | `listNotes` | `ListNotesParams` | `ListNotesResult` |
70
+ | `deleteNote` | `DeleteNoteParams` | `DeleteNoteResult` |
71
+
72
+ ### Examples
73
+
74
+ ```typescript
75
+ // Create a company record
76
+ const company = await attio.createRecord({
77
+ object: 'companies',
78
+ values: {
79
+ name: [{ value: 'Acme Corp' }],
80
+ domains: [{ domain: 'acme.com' }],
81
+ },
82
+ })
83
+
84
+ // Query deals with filters
85
+ const deals = await attio.listRecords({
86
+ object: 'deals',
87
+ filter: {
88
+ operator: 'and',
89
+ filters: [
90
+ { field: 'stage', operator: 'equals', value: 'proposal' },
91
+ ],
92
+ },
93
+ sorts: [{ field: 'created_at', direction: 'desc' }],
94
+ limit: 20,
95
+ })
96
+
97
+ // Create a note on a record
98
+ await attio.createNote({
99
+ parentObject: 'deals',
100
+ parentRecordId: 'rec_abc123',
101
+ title: 'Discovery call notes',
102
+ content: 'Key takeaways from the call...',
103
+ })
104
+ ```
105
+
106
+ ---
107
+
108
+ ## Google Sheets Adapter
109
+
110
+ Factory pattern -- 13 methods including workflow-friendly helpers (`getRowByValue`, `upsertRow`, `filterRows`).
111
+
112
+ ```typescript
113
+ const sheets = createGoogleSheetsAdapter('my-google-credential')
114
+ ```
115
+
116
+ ### Methods
117
+
118
+ | Method | Params | Returns |
119
+ | ------------------------ | ------------------------------ | ------------------------------ |
120
+ | `readSheet` | `ReadSheetParams` | `ReadSheetResult` |
121
+ | `writeSheet` | `WriteSheetParams` | `WriteSheetResult` |
122
+ | `appendRows` | `AppendRowsParams` | `AppendRowsResult` |
123
+ | `clearRange` | `ClearRangeParams` | `ClearRangeResult` |
124
+ | `getSpreadsheetMetadata` | `GetSpreadsheetMetadataParams` | `GetSpreadsheetMetadataResult` |
125
+ | `batchUpdate` | `BatchUpdateParams` | `BatchUpdateResult` |
126
+ | `getHeaders` | `GetHeadersParams` | `GetHeadersResult` |
127
+ | `getLastRow` | `GetLastRowParams` | `GetLastRowResult` |
128
+ | `getRowByValue` | `GetRowByValueParams` | `GetRowByValueResult` |
129
+ | `updateRowByValue` | `UpdateRowByValueParams` | `UpdateRowByValueResult` |
130
+ | `upsertRow` | `UpsertRowParams` | `UpsertRowResult` |
131
+ | `filterRows` | `FilterRowsParams` | `FilterRowsResult` |
132
+ | `deleteRowByValue` | `DeleteRowByValueParams` | `DeleteRowByValueResult` |
133
+
134
+ ---
135
+
136
+ ## Stripe Adapter
137
+
138
+ Factory pattern -- 6 methods for payment links and checkout sessions.
139
+
140
+ ```typescript
141
+ const stripe = createStripeAdapter('my-stripe-credential')
142
+ ```
143
+
144
+ ### Methods
145
+
146
+ | Method | Params | Returns |
147
+ | ----------------------- | ----------------------------- | ----------------------------- |
148
+ | `createPaymentLink` | `CreatePaymentLinkParams` | `CreatePaymentLinkResult` |
149
+ | `getPaymentLink` | `GetPaymentLinkParams` | `GetPaymentLinkResult` |
150
+ | `updatePaymentLink` | `UpdatePaymentLinkParams` | `UpdatePaymentLinkResult` |
151
+ | `listPaymentLinks` | `ListPaymentLinksParams` | `ListPaymentLinksResult` |
152
+ | `createAutoPaymentLink` | `CreateAutoPaymentLinkParams` | `CreateAutoPaymentLinkResult` |
153
+ | `createCheckoutSession` | `CreateCheckoutSessionParams` | `CreateCheckoutSessionResult` |
154
+
155
+ ---
156
+
157
+ ## Instantly Adapter
158
+
159
+ Factory pattern -- 5 methods for email campaign management.
160
+
161
+ ```typescript
162
+ const instantly = createInstantlyAdapter('my-instantly-credential')
163
+ ```
164
+
165
+ ### Methods
166
+
167
+ | Method | Params | Returns |
168
+ | ----------------------- | ----------------------------- | ----------------------------- |
169
+ | `sendReply` | `SendReplyParams` | `SendReplyResult` |
170
+ | `removeFromSubsequence` | `RemoveFromSubsequenceParams` | `RemoveFromSubsequenceResult` |
171
+ | `getEmails` | `GetEmailsParams` | `GetEmailsResult` |
172
+ | `updateInterestStatus` | `UpdateInterestStatusParams` | `UpdateInterestStatusResult` |
173
+ | `addToCampaign` | `AddToCampaignParams` | `AddToCampaignResult` |
174
+
175
+ ---
176
+
177
+ ## SignatureAPI Adapter
178
+
179
+ Factory pattern -- 4 methods for eSignature envelope operations.
180
+
181
+ ```typescript
182
+ const signatureApi = createSignatureApiAdapter('my-signatureapi-credential')
183
+ ```
184
+
185
+ ### Methods
186
+
187
+ | Method | Params | Returns |
188
+ | ------------------ | ------------------------ | ------------------------ |
189
+ | `createEnvelope` | `CreateEnvelopeParams` | `CreateEnvelopeResult` |
190
+ | `voidEnvelope` | `VoidEnvelopeParams` | `VoidEnvelopeResult` |
191
+ | `downloadDocument` | `DownloadDocumentParams` | `DownloadDocumentResult` |
192
+ | `getEnvelope` | `GetEnvelopeParams` | `GetEnvelopeResult` |
193
+
194
+ ---
195
+
196
+ ## Tomba Adapter
197
+
198
+ Factory pattern -- 3 methods for email discovery and verification.
199
+
200
+ ```typescript
201
+ const tomba = createTombaAdapter('elevasis-tomba')
202
+ ```
203
+
204
+ **Credential type:** `api-key-secret` (requires both API Key and API Secret)
205
+
206
+ ### Methods
207
+
208
+ | Method | Params | Returns |
209
+ | --------------- | -------------------------- | -------------------------- |
210
+ | `emailFinder` | `TombaEmailFinderParams` | `TombaEmailFinderResult` |
211
+ | `domainSearch` | `TombaDomainSearchParams` | `TombaDomainSearchResult` |
212
+ | `emailVerifier` | `TombaEmailVerifierParams` | `TombaEmailVerifierResult` |
213
+
214
+ ### Examples
215
+
216
+ ```typescript
217
+ // Find email by name + domain
218
+ const found = await tomba.emailFinder({
219
+ domain: 'stripe.com',
220
+ firstName: 'John',
221
+ lastName: 'Doe',
222
+ })
223
+
224
+ // List all emails at a domain (up to 10)
225
+ const results = await tomba.domainSearch({ domain: 'stripe.com' })
226
+
227
+ // Verify a known email address
228
+ const verified = await tomba.emailVerifier({ email: 'john@stripe.com' })
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Resend Adapter
234
+
235
+ Factory pattern -- 2 methods for transactional email.
236
+
237
+ ```typescript
238
+ const resend = createResendAdapter('my-resend-credential')
239
+ ```
240
+
241
+ ### Methods
242
+
243
+ | Method | Params | Returns |
244
+ | ----------- | ----------------------- | ----------------------- |
245
+ | `sendEmail` | `ResendSendEmailParams` | `ResendSendEmailResult` |
246
+ | `getEmail` | `ResendGetEmailParams` | `ResendGetEmailResult` |
247
+
248
+ ---
249
+
250
+ ## Dropbox Adapter
251
+
252
+ Factory pattern -- 2 methods for file operations.
253
+
254
+ ```typescript
255
+ const dropbox = createDropboxAdapter('my-dropbox-credential')
256
+ ```
257
+
258
+ ### Methods
259
+
260
+ | Method | Params | Returns |
261
+ | -------------- | -------------------- | -------------------- |
262
+ | `uploadFile` | `UploadFileParams` | `UploadFileResult` |
263
+ | `createFolder` | `CreateFolderParams` | `CreateFolderResult` |
264
+
265
+ ---
266
+
267
+ ## Apify Adapter
268
+
269
+ Factory pattern -- 1 method for running web scraping actors.
270
+
271
+ ```typescript
272
+ const apify = createApifyAdapter('my-apify-credential')
273
+ ```
274
+
275
+ ### Methods
276
+
277
+ | Method | Params | Returns |
278
+ | ---------- | ---------------- | ---------------- |
279
+ | `runActor` | `RunActorParams` | `RunActorResult` |
280
+
281
+ ---
282
+
283
+ ## Gmail Adapter
284
+
285
+ Factory pattern -- 1 method for sending email via Gmail API.
286
+
287
+ ```typescript
288
+ const gmail = createGmailAdapter('my-gmail-credential')
289
+ ```
290
+
291
+ ### Methods
292
+
293
+ | Method | Params | Returns |
294
+ | ----------- | ---------------------- | ---------------------- |
295
+ | `sendEmail` | `GmailSendEmailParams` | `GmailSendEmailResult` |
296
+
297
+ ---
298
+
299
+ For platform service adapters (scheduler, storage, llm, pdf, approval, acqDb, notifications, execution, email), see [Platform Adapters](adapters-platform.mdx).
300
+
301
+ **Last Updated:** 2026-03-05