@elevasis/sdk 0.7.11 → 0.7.13

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.
@@ -0,0 +1,342 @@
1
+ ---
2
+ title: Integration Adapters
3
+ description: Type-safe wrappers for third-party integrations -- Attio, Stripe, Notion, Google Sheets, Instantly, SignatureAPI, Resend, Dropbox, Apify, Gmail, Mailso, 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, createNotionAdapter,
14
+ createGoogleSheetsAdapter, createInstantlyAdapter,
15
+ createSignatureApiAdapter, createResendAdapter, createDropboxAdapter,
16
+ createApifyAdapter, createGmailAdapter, createMailsoAdapter,
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
+ | `createNotionAdapter(cred)` | 8 | Knowledge Base |
30
+ | `createStripeAdapter(cred)` | 6 | Payments |
31
+ | `createInstantlyAdapter(cred)` | 5 | Email Campaigns |
32
+ | `createSignatureApiAdapter(cred)` | 4 | eSignature |
33
+ | `createTombaAdapter(cred)` | 3 | Email Discovery |
34
+ | `createResendAdapter(cred)` | 2 | Transactional Email |
35
+ | `createDropboxAdapter(cred)` | 2 | File Storage |
36
+ | `createApifyAdapter(cred)` | 1 | Web Scraping |
37
+ | `createGmailAdapter(cred)` | 1 | Email (Gmail) |
38
+ | `createMailsoAdapter(cred)` | 1 | Email Verification |
39
+
40
+ Multiple adapters with different credentials work simultaneously:
41
+
42
+ ```typescript
43
+ const prodAttio = createAttioAdapter('prod-attio')
44
+ const testAttio = createAttioAdapter('test-attio')
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Attio CRM Adapter
50
+
51
+ Factory pattern -- bind a credential once, use 12 typed methods.
52
+
53
+ ```typescript
54
+ const attio = createAttioAdapter('my-attio-credential')
55
+ ```
56
+
57
+ ### Methods
58
+
59
+ | Method | Params | Returns |
60
+ | ----------------- | ----------------------- | ----------------------- |
61
+ | `createRecord` | `CreateRecordParams` | `CreateRecordResult` |
62
+ | `updateRecord` | `UpdateRecordParams` | `UpdateRecordResult` |
63
+ | `listRecords` | `QueryRecordsParams` | `QueryRecordsResult` |
64
+ | `getRecord` | `GetRecordParams` | `GetRecordResult` |
65
+ | `deleteRecord` | `DeleteRecordParams` | `DeleteRecordResult` |
66
+ | `listObjects` | none | `ListObjectsResult` |
67
+ | `listAttributes` | `ListAttributesParams` | `ListAttributesResult` |
68
+ | `createAttribute` | `CreateAttributeParams` | `CreateAttributeResult` |
69
+ | `updateAttribute` | `UpdateAttributeParams` | `UpdateAttributeResult` |
70
+ | `createNote` | `CreateNoteParams` | `CreateNoteResult` |
71
+ | `listNotes` | `ListNotesParams` | `ListNotesResult` |
72
+ | `deleteNote` | `DeleteNoteParams` | `DeleteNoteResult` |
73
+
74
+ ### Examples
75
+
76
+ ```typescript
77
+ // Create a company record
78
+ const company = await attio.createRecord({
79
+ object: 'companies',
80
+ values: {
81
+ name: [{ value: 'Acme Corp' }],
82
+ domains: [{ domain: 'acme.com' }],
83
+ },
84
+ })
85
+
86
+ // Query deals with filters
87
+ const deals = await attio.listRecords({
88
+ object: 'deals',
89
+ filter: {
90
+ operator: 'and',
91
+ filters: [
92
+ { field: 'stage', operator: 'equals', value: 'proposal' },
93
+ ],
94
+ },
95
+ sorts: [{ field: 'created_at', direction: 'desc' }],
96
+ limit: 20,
97
+ })
98
+
99
+ // Create a note on a record
100
+ await attio.createNote({
101
+ parentObject: 'deals',
102
+ parentRecordId: 'rec_abc123',
103
+ title: 'Discovery call notes',
104
+ content: 'Key takeaways from the call...',
105
+ })
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Google Sheets Adapter
111
+
112
+ Factory pattern -- 13 methods including workflow-friendly helpers (`getRowByValue`, `upsertRow`, `filterRows`).
113
+
114
+ ```typescript
115
+ const sheets = createGoogleSheetsAdapter('my-google-credential')
116
+ ```
117
+
118
+ ### Methods
119
+
120
+ | Method | Params | Returns |
121
+ | ------------------------ | ------------------------------ | ------------------------------ |
122
+ | `readSheet` | `ReadSheetParams` | `ReadSheetResult` |
123
+ | `writeSheet` | `WriteSheetParams` | `WriteSheetResult` |
124
+ | `appendRows` | `AppendRowsParams` | `AppendRowsResult` |
125
+ | `clearRange` | `ClearRangeParams` | `ClearRangeResult` |
126
+ | `getSpreadsheetMetadata` | `GetSpreadsheetMetadataParams` | `GetSpreadsheetMetadataResult` |
127
+ | `batchUpdate` | `BatchUpdateParams` | `BatchUpdateResult` |
128
+ | `getHeaders` | `GetHeadersParams` | `GetHeadersResult` |
129
+ | `getLastRow` | `GetLastRowParams` | `GetLastRowResult` |
130
+ | `getRowByValue` | `GetRowByValueParams` | `GetRowByValueResult` |
131
+ | `updateRowByValue` | `UpdateRowByValueParams` | `UpdateRowByValueResult` |
132
+ | `upsertRow` | `UpsertRowParams` | `UpsertRowResult` |
133
+ | `filterRows` | `FilterRowsParams` | `FilterRowsResult` |
134
+ | `deleteRowByValue` | `DeleteRowByValueParams` | `DeleteRowByValueResult` |
135
+
136
+ ---
137
+
138
+ ## Notion Adapter
139
+
140
+ Factory pattern -- 8 methods for page and block operations.
141
+
142
+ ```typescript
143
+ const notion = createNotionAdapter('my-notion-credential')
144
+ ```
145
+
146
+ ### Methods
147
+
148
+ | Method | Params | Returns |
149
+ | ----------------- | ----------------------- | ----------------------- |
150
+ | `listAllPages` | none | `ListAllPagesResult` |
151
+ | `readPage` | `ReadPageParams` | `ReadPageResult` |
152
+ | `createPage` | `CreatePageParams` | `CreatePageResult` |
153
+ | `updatePageTitle` | `UpdatePageTitleParams` | `UpdatePageTitleResult` |
154
+ | `appendBlocks` | `AppendBlocksParams` | `AppendBlocksResult` |
155
+ | `updateBlocks` | `UpdateBlocksParams` | `UpdateBlocksResult` |
156
+ | `deletePage` | `DeletePageParams` | `DeletePageResult` |
157
+ | `deleteBlocks` | `DeleteBlocksParams` | `DeleteBlocksResult` |
158
+
159
+ ---
160
+
161
+ ## Stripe Adapter
162
+
163
+ Factory pattern -- 6 methods for payment links and checkout sessions.
164
+
165
+ ```typescript
166
+ const stripe = createStripeAdapter('my-stripe-credential')
167
+ ```
168
+
169
+ ### Methods
170
+
171
+ | Method | Params | Returns |
172
+ | ----------------------- | ----------------------------- | ----------------------------- |
173
+ | `createPaymentLink` | `CreatePaymentLinkParams` | `CreatePaymentLinkResult` |
174
+ | `getPaymentLink` | `GetPaymentLinkParams` | `GetPaymentLinkResult` |
175
+ | `updatePaymentLink` | `UpdatePaymentLinkParams` | `UpdatePaymentLinkResult` |
176
+ | `listPaymentLinks` | `ListPaymentLinksParams` | `ListPaymentLinksResult` |
177
+ | `createAutoPaymentLink` | `CreateAutoPaymentLinkParams` | `CreateAutoPaymentLinkResult` |
178
+ | `createCheckoutSession` | `CreateCheckoutSessionParams` | `CreateCheckoutSessionResult` |
179
+
180
+ ---
181
+
182
+ ## Instantly Adapter
183
+
184
+ Factory pattern -- 5 methods for email campaign management.
185
+
186
+ ```typescript
187
+ const instantly = createInstantlyAdapter('my-instantly-credential')
188
+ ```
189
+
190
+ ### Methods
191
+
192
+ | Method | Params | Returns |
193
+ | ----------------------- | ----------------------------- | ----------------------------- |
194
+ | `sendReply` | `SendReplyParams` | `SendReplyResult` |
195
+ | `removeFromSubsequence` | `RemoveFromSubsequenceParams` | `RemoveFromSubsequenceResult` |
196
+ | `getEmails` | `GetEmailsParams` | `GetEmailsResult` |
197
+ | `updateInterestStatus` | `UpdateInterestStatusParams` | `UpdateInterestStatusResult` |
198
+ | `addToCampaign` | `AddToCampaignParams` | `AddToCampaignResult` |
199
+
200
+ ---
201
+
202
+ ## SignatureAPI Adapter
203
+
204
+ Factory pattern -- 4 methods for eSignature envelope operations.
205
+
206
+ ```typescript
207
+ const signatureApi = createSignatureApiAdapter('my-signatureapi-credential')
208
+ ```
209
+
210
+ ### Methods
211
+
212
+ | Method | Params | Returns |
213
+ | ------------------ | ------------------------ | ------------------------ |
214
+ | `createEnvelope` | `CreateEnvelopeParams` | `CreateEnvelopeResult` |
215
+ | `voidEnvelope` | `VoidEnvelopeParams` | `VoidEnvelopeResult` |
216
+ | `downloadDocument` | `DownloadDocumentParams` | `DownloadDocumentResult` |
217
+ | `getEnvelope` | `GetEnvelopeParams` | `GetEnvelopeResult` |
218
+
219
+ ---
220
+
221
+ ## Tomba Adapter
222
+
223
+ Factory pattern -- 3 methods for email discovery and verification.
224
+
225
+ ```typescript
226
+ const tomba = createTombaAdapter('elevasis-tomba')
227
+ ```
228
+
229
+ **Credential type:** `api-key-secret` (requires both API Key and API Secret)
230
+
231
+ ### Methods
232
+
233
+ | Method | Params | Returns |
234
+ | --------------- | -------------------------- | -------------------------- |
235
+ | `emailFinder` | `TombaEmailFinderParams` | `TombaEmailFinderResult` |
236
+ | `domainSearch` | `TombaDomainSearchParams` | `TombaDomainSearchResult` |
237
+ | `emailVerifier` | `TombaEmailVerifierParams` | `TombaEmailVerifierResult` |
238
+
239
+ ### Examples
240
+
241
+ ```typescript
242
+ // Find email by name + domain
243
+ const found = await tomba.emailFinder({
244
+ domain: 'stripe.com',
245
+ firstName: 'John',
246
+ lastName: 'Doe',
247
+ })
248
+
249
+ // List all emails at a domain (up to 10)
250
+ const results = await tomba.domainSearch({ domain: 'stripe.com' })
251
+
252
+ // Verify a known email address
253
+ const verified = await tomba.emailVerifier({ email: 'john@stripe.com' })
254
+ ```
255
+
256
+ ---
257
+
258
+ ## Resend Adapter
259
+
260
+ Factory pattern -- 2 methods for transactional email.
261
+
262
+ ```typescript
263
+ const resend = createResendAdapter('my-resend-credential')
264
+ ```
265
+
266
+ ### Methods
267
+
268
+ | Method | Params | Returns |
269
+ | ----------- | ----------------------- | ----------------------- |
270
+ | `sendEmail` | `ResendSendEmailParams` | `ResendSendEmailResult` |
271
+ | `getEmail` | `ResendGetEmailParams` | `ResendGetEmailResult` |
272
+
273
+ ---
274
+
275
+ ## Dropbox Adapter
276
+
277
+ Factory pattern -- 2 methods for file operations.
278
+
279
+ ```typescript
280
+ const dropbox = createDropboxAdapter('my-dropbox-credential')
281
+ ```
282
+
283
+ ### Methods
284
+
285
+ | Method | Params | Returns |
286
+ | -------------- | -------------------- | -------------------- |
287
+ | `uploadFile` | `UploadFileParams` | `UploadFileResult` |
288
+ | `createFolder` | `CreateFolderParams` | `CreateFolderResult` |
289
+
290
+ ---
291
+
292
+ ## Apify Adapter
293
+
294
+ Factory pattern -- 1 method for running web scraping actors.
295
+
296
+ ```typescript
297
+ const apify = createApifyAdapter('my-apify-credential')
298
+ ```
299
+
300
+ ### Methods
301
+
302
+ | Method | Params | Returns |
303
+ | ---------- | ---------------- | ---------------- |
304
+ | `runActor` | `RunActorParams` | `RunActorResult` |
305
+
306
+ ---
307
+
308
+ ## Gmail Adapter
309
+
310
+ Factory pattern -- 1 method for sending email via Gmail API.
311
+
312
+ ```typescript
313
+ const gmail = createGmailAdapter('my-gmail-credential')
314
+ ```
315
+
316
+ ### Methods
317
+
318
+ | Method | Params | Returns |
319
+ | ----------- | ---------------------- | ---------------------- |
320
+ | `sendEmail` | `GmailSendEmailParams` | `GmailSendEmailResult` |
321
+
322
+ ---
323
+
324
+ ## Mailso Adapter
325
+
326
+ Factory pattern -- 1 method for email verification.
327
+
328
+ ```typescript
329
+ const mailso = createMailsoAdapter('my-mailso-credential')
330
+ ```
331
+
332
+ ### Methods
333
+
334
+ | Method | Params | Returns |
335
+ | ------------- | ------------------------- | ------------------------- |
336
+ | `verifyEmail` | `MailsoVerifyEmailParams` | `MailsoVerifyEmailResult` |
337
+
338
+ ---
339
+
340
+ For platform service adapters (scheduler, storage, llm, pdf, approval, acqDb, notifications, execution, email), see [Platform Adapters](adapters-platform.mdx).
341
+
342
+ **Last Updated:** 2026-03-05