@elevasis/sdk 1.20.2 → 1.22.0

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 (164) hide show
  1. package/dist/cli.cjs +4220 -1583
  2. package/dist/index.d.ts +1035 -481
  3. package/dist/index.js +7381 -4187
  4. package/dist/node/index.d.ts +1 -3
  5. package/dist/node/index.js +40 -49
  6. package/dist/test-utils/index.d.ts +699 -123
  7. package/dist/test-utils/index.js +3826 -630
  8. package/dist/worker/index.js +3616 -442
  9. package/package.json +3 -3
  10. package/reference/_navigation.md +9 -7
  11. package/reference/_reference-manifest.json +1 -1
  12. package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
  13. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
  14. package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
  15. package/reference/claude-config/registries/graph-skills.json +4 -4
  16. package/reference/claude-config/registries/knowledge-flags.json +0 -2
  17. package/reference/claude-config/rules/active-change-index.md +80 -80
  18. package/reference/claude-config/rules/agent-start-here.md +277 -273
  19. package/reference/claude-config/rules/deployment.md +57 -57
  20. package/reference/claude-config/rules/error-handling.md +56 -56
  21. package/reference/claude-config/rules/execution.md +40 -40
  22. package/reference/claude-config/rules/frontend.md +4 -4
  23. package/reference/claude-config/rules/observability.md +31 -31
  24. package/reference/claude-config/rules/operations.md +29 -17
  25. package/reference/claude-config/rules/organization-model.md +108 -40
  26. package/reference/claude-config/rules/organization-os.md +115 -113
  27. package/reference/claude-config/rules/package-taxonomy.md +33 -33
  28. package/reference/claude-config/rules/platform.md +42 -42
  29. package/reference/claude-config/rules/shared-types.md +49 -46
  30. package/reference/claude-config/rules/task-tracking.md +47 -47
  31. package/reference/claude-config/rules/ui.md +200 -200
  32. package/reference/claude-config/rules/vibe.md +235 -231
  33. package/reference/claude-config/scripts/statusline-command.js +18 -18
  34. package/reference/claude-config/settings.json +34 -34
  35. package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
  36. package/reference/claude-config/skills/dsp/SKILL.md +66 -66
  37. package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
  38. package/reference/claude-config/skills/explore/SKILL.md +6 -6
  39. package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
  40. package/reference/claude-config/skills/knowledge/SKILL.md +330 -271
  41. package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
  42. package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -158
  43. package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
  44. package/reference/claude-config/skills/knowledge/operations/features.md +76 -113
  45. package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
  46. package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
  47. package/reference/claude-config/skills/knowledge/operations/labels.md +94 -89
  48. package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
  49. package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
  50. package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
  51. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  52. package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
  53. package/reference/claude-config/skills/save/SKILL.md +3 -3
  54. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  55. package/reference/claude-config/skills/status/SKILL.md +59 -59
  56. package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
  57. package/reference/claude-config/skills/sync/SKILL.md +47 -47
  58. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  59. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  60. package/reference/claude-config/skills/tutorial/technical.md +1303 -1306
  61. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  62. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
  63. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
  64. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
  65. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
  66. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
  67. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
  68. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
  69. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
  70. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
  71. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
  72. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
  73. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  74. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
  75. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
  76. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
  77. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
  78. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
  79. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
  80. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
  81. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
  82. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
  83. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -0
  84. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +42 -0
  85. package/reference/claude-config/sync-notes/README.md +43 -43
  86. package/reference/cli.mdx +808 -668
  87. package/reference/concepts.mdx +146 -146
  88. package/reference/deployment/api.mdx +297 -297
  89. package/reference/deployment/command-center.mdx +209 -209
  90. package/reference/deployment/index.mdx +195 -195
  91. package/reference/deployment/provided-features.mdx +107 -93
  92. package/reference/deployment/ui-execution.mdx +250 -250
  93. package/reference/examples/organization-model.ts +147 -84
  94. package/reference/framework/agent.mdx +156 -156
  95. package/reference/framework/index.mdx +195 -195
  96. package/reference/framework/interaction-guidance.mdx +182 -182
  97. package/reference/framework/memory.mdx +326 -326
  98. package/reference/framework/project-structure.mdx +282 -282
  99. package/reference/framework/tutorial-system.mdx +135 -135
  100. package/reference/getting-started.mdx +142 -142
  101. package/reference/index.mdx +106 -106
  102. package/reference/packages/core/src/README.md +14 -14
  103. package/reference/packages/core/src/business/README.md +2 -2
  104. package/reference/packages/core/src/knowledge/README.md +33 -32
  105. package/reference/packages/core/src/organization-model/README.md +149 -109
  106. package/reference/packages/core/src/test-utils/README.md +37 -37
  107. package/reference/packages/ui/src/api/README.md +18 -18
  108. package/reference/packages/ui/src/app/README.md +24 -24
  109. package/reference/packages/ui/src/auth/README.md +18 -18
  110. package/reference/packages/ui/src/components/README.md +24 -24
  111. package/reference/packages/ui/src/execution/README.md +16 -16
  112. package/reference/packages/ui/src/features/README.md +28 -28
  113. package/reference/packages/ui/src/graph/README.md +16 -16
  114. package/reference/packages/ui/src/hooks/README.md +23 -23
  115. package/reference/packages/ui/src/initialization/README.md +19 -19
  116. package/reference/packages/ui/src/knowledge/README.md +31 -31
  117. package/reference/packages/ui/src/organization/README.md +18 -18
  118. package/reference/packages/ui/src/profile/README.md +19 -19
  119. package/reference/packages/ui/src/provider/README.md +32 -32
  120. package/reference/packages/ui/src/router/README.md +18 -18
  121. package/reference/packages/ui/src/sse/README.md +13 -13
  122. package/reference/packages/ui/src/test-utils/README.md +7 -7
  123. package/reference/packages/ui/src/theme/README.md +23 -23
  124. package/reference/packages/ui/src/theme/presets/README.md +19 -19
  125. package/reference/packages/ui/src/types/README.md +16 -16
  126. package/reference/packages/ui/src/utils/README.md +18 -18
  127. package/reference/packages/ui/src/zustand/README.md +18 -18
  128. package/reference/platform-tools/adapters-integration.mdx +301 -301
  129. package/reference/platform-tools/adapters-platform.mdx +553 -553
  130. package/reference/platform-tools/index.mdx +217 -217
  131. package/reference/platform-tools/type-safety.mdx +82 -82
  132. package/reference/resources/index.mdx +349 -349
  133. package/reference/resources/patterns.mdx +449 -449
  134. package/reference/resources/types.mdx +116 -116
  135. package/reference/roadmap.mdx +165 -165
  136. package/reference/runtime.mdx +173 -173
  137. package/reference/scaffold/core/organization-graph.mdx +110 -89
  138. package/reference/scaffold/core/organization-model.mdx +226 -171
  139. package/reference/scaffold/index.mdx +67 -67
  140. package/reference/scaffold/operations/propagation-pipeline.md +77 -77
  141. package/reference/scaffold/operations/scaffold-maintenance.md +10 -10
  142. package/reference/scaffold/operations/workflow-recipes.md +138 -138
  143. package/reference/scaffold/recipes/add-a-feature.md +310 -88
  144. package/reference/scaffold/recipes/add-a-resource.md +137 -117
  145. package/reference/scaffold/recipes/customize-crm-actions.md +439 -439
  146. package/reference/scaffold/recipes/customize-knowledge-browser.md +384 -0
  147. package/reference/scaffold/recipes/customize-organization-model.md +281 -118
  148. package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
  149. package/reference/scaffold/recipes/extend-crm.md +40 -39
  150. package/reference/scaffold/recipes/extend-lead-gen.md +400 -401
  151. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -114
  152. package/reference/scaffold/recipes/index.md +47 -46
  153. package/reference/scaffold/recipes/query-the-knowledge-graph.md +227 -0
  154. package/reference/scaffold/reference/contracts.md +2389 -2121
  155. package/reference/scaffold/reference/feature-registry.md +9 -20
  156. package/reference/scaffold/reference/glossary.md +76 -76
  157. package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
  158. package/reference/scaffold/ui/customization.md +243 -243
  159. package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
  160. package/reference/scaffold/ui/feature-shell.mdx +72 -72
  161. package/reference/scaffold/ui/recipes.md +221 -213
  162. package/reference/spine/spine-primer.md +96 -96
  163. package/reference/templates/index.mdx +47 -47
  164. 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