@superagnt/attio-crm 2.0.2 → 2.0.3
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.
- package/README.md +10 -11
- package/index.js +88 -300
- package/openclaw.plugin.json +92 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,21 +8,20 @@ Connect your Attio workspace to superagnt to automate CRM record management, lis
|
|
|
8
8
|
openclaw plugins install @superagnt/attio-crm
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
This package is the official **OpenClaw** plugin for the **Attio** integration via [superagnt](https://superagnt.com). Pair it with the [documentation](https://superagnt.com) and your superagnt API key.
|
|
11
|
+
This package is the official **OpenClaw** plugin for the **Attio** integration via [superagnt](https://superagnt.com). Pair it with the [documentation](https://superagnt.com/docs) and your superagnt API key.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Want the live MCP surface instead?
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
the live tool
|
|
17
|
-
|
|
15
|
+
This plugin ships a fixed, baked-in toolset that only needs your
|
|
16
|
+
`SUPERAGNT_API_KEY`. For the live workspace tool surface — the full value
|
|
17
|
+
layer (data sources plus workspace Postgres, schedules, canvases,
|
|
18
|
+
enrichment), growing server-side with no plugin update — install the
|
|
19
|
+
primary superagnt plugin instead:
|
|
18
20
|
|
|
19
21
|
```bash
|
|
20
|
-
|
|
22
|
+
openclaw plugins install @superagnt/superagnt
|
|
21
23
|
```
|
|
22
24
|
|
|
23
|
-
Without the token the plugin uses its built-in toolset with your
|
|
24
|
-
`SUPERAGNT_API_KEY` — no behavior change from previous versions.
|
|
25
|
-
|
|
26
25
|
## Overview
|
|
27
26
|
|
|
28
27
|
OpenClaw plugin for Attio CRM — manage records, lists, notes, tasks, meetings, and call recordings with your superagnt API key.
|
|
@@ -67,8 +66,8 @@ Set `SUPERAGNT_API_KEY` in your environment, or complete browser login when the
|
|
|
67
66
|
|
|
68
67
|
## Documentation
|
|
69
68
|
|
|
70
|
-
- [Documentation](https://superagnt.com) — getting started and concepts
|
|
71
|
-
- [Connection guide (Attio)](https://superagnt.com/
|
|
69
|
+
- [Documentation](https://superagnt.com/docs) — getting started and concepts
|
|
70
|
+
- [Connection guide (Attio)](https://superagnt.com/docs) — setup and endpoints
|
|
72
71
|
- [Dashboard](https://app.superagnt.com/dashboard) — API keys and usage
|
|
73
72
|
|
|
74
73
|
## Related
|
package/index.js
CHANGED
|
@@ -28,194 +28,6 @@ function readAgntConfig() {
|
|
|
28
28
|
|
|
29
29
|
// ── End Auth Module ──────────────────────────────────────────────────────────
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
// ── CLI Module (inlined) ─────────────────────────────────────────────────────
|
|
33
|
-
|
|
34
|
-
function maskApiKey(key) {
|
|
35
|
-
if (!key || typeof key !== 'string') return '(none)'
|
|
36
|
-
const k = key.trim()
|
|
37
|
-
if (k.length <= 8) return k.slice(0, 2) + '…'
|
|
38
|
-
return k.slice(0, 6) + '…' + k.slice(-4)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function registerAgntCli(api) {
|
|
42
|
-
api.registerCli(
|
|
43
|
-
({ program }) => {
|
|
44
|
-
const cmd = program
|
|
45
|
-
.command('superagnt')
|
|
46
|
-
.description('superagnt social data API (status, doctor)')
|
|
47
|
-
|
|
48
|
-
cmd
|
|
49
|
-
.command('status')
|
|
50
|
-
.description('Show whether an API key is configured (masked)')
|
|
51
|
-
.action(async () => {
|
|
52
|
-
const cfg = readAgntConfig()
|
|
53
|
-
const key = cfg?.apiKey
|
|
54
|
-
|
|
55
|
-
console.log('\nsuperagnt status\n')
|
|
56
|
-
if (!key) {
|
|
57
|
-
console.log(' API key: not configured')
|
|
58
|
-
console.log(' Workspace: —')
|
|
59
|
-
console.log('\n Get your API key at: https://app.superagnt.com/dashboard\n')
|
|
60
|
-
return
|
|
61
|
-
}
|
|
62
|
-
console.log(' API key: ' + maskApiKey(key) + ' (from ~/.superagnt/config.json)')
|
|
63
|
-
console.log(' Workspace: ' + (cfg?.workspaceId ?? '—'))
|
|
64
|
-
console.log('')
|
|
65
|
-
})
|
|
66
|
-
|
|
67
|
-
cmd
|
|
68
|
-
.command('doctor')
|
|
69
|
-
.description('Check connectivity and validate API key against api.superagnt.dev')
|
|
70
|
-
.action(async () => {
|
|
71
|
-
console.log('\nsuperagnt doctor\n')
|
|
72
|
-
|
|
73
|
-
try {
|
|
74
|
-
const publicRes = await fetch('https://api.superagnt.com/v1/platforms')
|
|
75
|
-
console.log(' Public API: ' + (publicRes.ok ? 'OK (' + publicRes.status + ')' : 'HTTP ' + publicRes.status))
|
|
76
|
-
} catch (err) {
|
|
77
|
-
const msg = err instanceof Error ? err.message : String(err)
|
|
78
|
-
console.log(' Public API: failed — ' + msg)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const cfg = readAgntConfig()
|
|
82
|
-
const key = cfg?.apiKey
|
|
83
|
-
|
|
84
|
-
if (!key) {
|
|
85
|
-
console.log('\n Authenticated: skipped (no API key)')
|
|
86
|
-
console.log(' Get your API key at: https://app.superagnt.com/dashboard\n')
|
|
87
|
-
return
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
try {
|
|
91
|
-
const res = await fetch('https://api.superagnt.com/v1/platforms', {
|
|
92
|
-
headers: { Authorization: 'Bearer ' + key },
|
|
93
|
-
})
|
|
94
|
-
const text = await res.text()
|
|
95
|
-
let summary = 'HTTP ' + res.status
|
|
96
|
-
if (res.ok) {
|
|
97
|
-
try {
|
|
98
|
-
const json = JSON.parse(text)
|
|
99
|
-
const n = Array.isArray(json?.data) ? json.data.length : (json?.data ? Object.keys(json.data).length : 'ok')
|
|
100
|
-
summary = 'OK — platforms payload received (' + (typeof n === 'number' ? n + ' entries' : String(n)) + ')'
|
|
101
|
-
} catch {
|
|
102
|
-
summary = 'OK (' + res.status + ')'
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
console.log(' Authenticated: ' + summary)
|
|
106
|
-
if (!res.ok) {
|
|
107
|
-
console.log(' If 401, get a new key at: https://app.superagnt.com/dashboard')
|
|
108
|
-
}
|
|
109
|
-
} catch (err) {
|
|
110
|
-
const msg = err instanceof Error ? err.message : String(err)
|
|
111
|
-
console.log(' Authenticated: failed — ' + msg)
|
|
112
|
-
}
|
|
113
|
-
console.log('')
|
|
114
|
-
})
|
|
115
|
-
},
|
|
116
|
-
{ commands: ['superagnt'] },
|
|
117
|
-
)
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// ── End CLI Module ───────────────────────────────────────────────────────────
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
// ── System prompt (inlined) ─────────────────────────────────────────────────
|
|
124
|
-
|
|
125
|
-
function getSystemPrompt(state) {
|
|
126
|
-
const scope = "Only the Attio integration (attio)."
|
|
127
|
-
if (state.ready && state.toolCount > 0) {
|
|
128
|
-
return (
|
|
129
|
-
'<superagnt>\n' +
|
|
130
|
-
'Ignore pretrained knowledge about superagnt tool names — use only tools that exist in this session.\n' +
|
|
131
|
-
'\n' +
|
|
132
|
-
'## What superagnt is\n' +
|
|
133
|
-
'superagnt exposes **structured social-data HTTP APIs** behind OpenClaw tools. Scope for this plugin: **' + scope + '**.\n' +
|
|
134
|
-
'\n' +
|
|
135
|
-
'## When to use superagnt tools\n' +
|
|
136
|
-
'- Use superagnt when the user needs **live social/network data** (profiles, posts, companies, comments, etc.) from supported platforms.\n' +
|
|
137
|
-
'- Prefer **discovery** when unsure which endpoint fits: call public discovery (GET /v1/platforms and GET /v1/platforms/{slug}) or read tool descriptions; do not invent endpoints or parameters.\n' +
|
|
138
|
-
'\n' +
|
|
139
|
-
'## Platform selection (high level)\n' +
|
|
140
|
-
'- **linkedin** — B2B enrichment, org/person research, hiring/sales workflows\n' +
|
|
141
|
-
'- **youtube** / **tiktok** — video/creator/channel metadata and content signals\n' +
|
|
142
|
-
'- **x** / **reddit** — short-form social and community threads\n' +
|
|
143
|
-
'- **instagram** — visual/creator discovery where Instagram is the source of truth\n' +
|
|
144
|
-
'- **facebook** — pages/groups/marketplace/adjacent Facebook surface areas exposed by the API\n' +
|
|
145
|
-
'\n' +
|
|
146
|
-
'## Rules\n' +
|
|
147
|
-
'- Do **not** fabricate tool names — pick from the registered superagnt_* tools only.\n' +
|
|
148
|
-
'- If authentication fails (401), tell the user to get a new key at https://app.superagnt.com/dashboard\n' +
|
|
149
|
-
'</superagnt>'
|
|
150
|
-
)
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
if (state.ready && state.toolCount === 0) {
|
|
154
|
-
return (
|
|
155
|
-
'<superagnt>\n' +
|
|
156
|
-
'The superagnt plugin loaded but registered **zero** API tools. Check your OpenClaw plugin packaging and regenerate the plugin from @superagnt/clawhub.\n' +
|
|
157
|
-
'</superagnt>'
|
|
158
|
-
)
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
if (state.error) {
|
|
162
|
-
return (
|
|
163
|
-
'<superagnt>\n' +
|
|
164
|
-
'superagnt plugin diagnostic: ' + state.error + '\n' +
|
|
165
|
-
'Do not pretend superagnt tools exist. Ask the user to fix configuration and restart the gateway.\n' +
|
|
166
|
-
'</superagnt>'
|
|
167
|
-
)
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return (
|
|
171
|
-
'<superagnt>\n' +
|
|
172
|
-
'superagnt tools are still loading. If the user asks for social data right now, ask them to wait a moment and retry.\n' +
|
|
173
|
-
'</superagnt>'
|
|
174
|
-
)
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
// ── End System prompt ────────────────────────────────────────────────────────
|
|
178
|
-
|
|
179
|
-
const MCP_URL = 'https://mcp.superagnt.com/mcp'
|
|
180
|
-
|
|
181
|
-
async function mcpRpc(token, method, params) {
|
|
182
|
-
const res = await fetch(MCP_URL, {
|
|
183
|
-
method: 'POST',
|
|
184
|
-
headers: {
|
|
185
|
-
Authorization: `Bearer ${token}`,
|
|
186
|
-
'Content-Type': 'application/json',
|
|
187
|
-
Accept: 'application/json, text/event-stream',
|
|
188
|
-
},
|
|
189
|
-
body: JSON.stringify({ jsonrpc: '2.0', id: Date.now(), method, params }),
|
|
190
|
-
})
|
|
191
|
-
if (!res.ok) throw new Error(`MCP ${method} failed: HTTP ${res.status}`)
|
|
192
|
-
const data = await res.json()
|
|
193
|
-
if (data.error) throw new Error(`MCP ${method} error: ${data.error.message}`)
|
|
194
|
-
return data.result
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
async function registerLiveMcpTools(api, token) {
|
|
198
|
-
const result = await mcpRpc(token, 'tools/list', {})
|
|
199
|
-
const tools = Array.isArray(result?.tools) ? result.tools : []
|
|
200
|
-
if (tools.length === 0) throw new Error('MCP tools/list returned no tools')
|
|
201
|
-
for (const t of tools) {
|
|
202
|
-
api.registerTool({
|
|
203
|
-
name: t.name,
|
|
204
|
-
description: t.description,
|
|
205
|
-
inputSchema: t.inputSchema,
|
|
206
|
-
execute: async (input) => {
|
|
207
|
-
const args = parseToolInput(input)
|
|
208
|
-
const r = await mcpRpc(token, 'tools/call', { name: t.name, arguments: args })
|
|
209
|
-
if (r && r.structuredContent !== undefined) return r.structuredContent
|
|
210
|
-
const text = Array.isArray(r?.content) ? r.content.find((c) => c.type === 'text')?.text : undefined
|
|
211
|
-
if (text === undefined) return r
|
|
212
|
-
try { return JSON.parse(text) } catch { return text }
|
|
213
|
-
},
|
|
214
|
-
})
|
|
215
|
-
}
|
|
216
|
-
return tools.length
|
|
217
|
-
}
|
|
218
|
-
|
|
219
31
|
function parseToolInput(input) {
|
|
220
32
|
if (input == null) return {}
|
|
221
33
|
if (typeof input === 'object' && !Array.isArray(input)) return input
|
|
@@ -267,9 +79,8 @@ async function callSuperagnt(apiKey, method, path, query, body) {
|
|
|
267
79
|
return res.json()
|
|
268
80
|
}
|
|
269
81
|
|
|
270
|
-
export default
|
|
82
|
+
export default function register(api) {
|
|
271
83
|
const apiKey = api.pluginConfig.apiKey || process.env.SUPERAGNT_API_KEY || readAgntConfig()?.apiKey
|
|
272
|
-
const mcpToken = api.pluginConfig.mcpToken || process.env.SUPERAGNT_MCP_TOKEN
|
|
273
84
|
|
|
274
85
|
function ensureApiKey() {
|
|
275
86
|
if (apiKey) return apiKey
|
|
@@ -281,26 +92,6 @@ export default async function register(api) {
|
|
|
281
92
|
)
|
|
282
93
|
}
|
|
283
94
|
|
|
284
|
-
registerAgntCli(api)
|
|
285
|
-
|
|
286
|
-
const promptState = { toolCount: 0, error: '', ready: false }
|
|
287
|
-
api.on('before_prompt_build', () => ({
|
|
288
|
-
prependSystemContext: getSystemPrompt(promptState),
|
|
289
|
-
}))
|
|
290
|
-
|
|
291
|
-
// Live MCP mode: a workspace MCP token upgrades this plugin to the server's
|
|
292
|
-
// own tool surface, fetched fresh at load — it grows with agnt_tools_enable
|
|
293
|
-
// and never goes stale. Any failure falls back to the baked toolset below.
|
|
294
|
-
if (mcpToken) {
|
|
295
|
-
try {
|
|
296
|
-
promptState.toolCount = await registerLiveMcpTools(api, mcpToken)
|
|
297
|
-
promptState.ready = true
|
|
298
|
-
return
|
|
299
|
-
} catch (err) {
|
|
300
|
-
promptState.error = 'Live MCP connect failed (' + (err && err.message ? err.message : err) + '); using the built-in toolset.'
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
95
|
api.registerTool({
|
|
305
96
|
name: 'superagnt_connection_attio_get_v2_objects',
|
|
306
97
|
description: "List objects",
|
|
@@ -309,7 +100,7 @@ export default async function register(api) {
|
|
|
309
100
|
"properties": {}
|
|
310
101
|
},
|
|
311
102
|
execute: async (input) => {
|
|
312
|
-
const key =
|
|
103
|
+
const key = ensureApiKey()
|
|
313
104
|
const params = parseToolInput(input)
|
|
314
105
|
return callSuperagnt(key, 'GET', '/v2/objects', params)
|
|
315
106
|
},
|
|
@@ -331,7 +122,7 @@ export default async function register(api) {
|
|
|
331
122
|
]
|
|
332
123
|
},
|
|
333
124
|
execute: async (input) => {
|
|
334
|
-
const key =
|
|
125
|
+
const key = ensureApiKey()
|
|
335
126
|
const params = parseToolInput(input)
|
|
336
127
|
return callSuperagnt(key, 'POST', '/v2/objects', undefined, params)
|
|
337
128
|
},
|
|
@@ -353,7 +144,7 @@ export default async function register(api) {
|
|
|
353
144
|
]
|
|
354
145
|
},
|
|
355
146
|
execute: async (input) => {
|
|
356
|
-
const key =
|
|
147
|
+
const key = ensureApiKey()
|
|
357
148
|
const params = parseToolInput(input)
|
|
358
149
|
return callSuperagnt(key, 'GET', '/v2/objects/{object}', params)
|
|
359
150
|
},
|
|
@@ -380,7 +171,7 @@ export default async function register(api) {
|
|
|
380
171
|
]
|
|
381
172
|
},
|
|
382
173
|
execute: async (input) => {
|
|
383
|
-
const key =
|
|
174
|
+
const key = ensureApiKey()
|
|
384
175
|
const params = parseToolInput(input)
|
|
385
176
|
return callSuperagnt(key, 'PATCH', '/v2/objects/{object}', undefined, params)
|
|
386
177
|
},
|
|
@@ -414,7 +205,7 @@ export default async function register(api) {
|
|
|
414
205
|
]
|
|
415
206
|
},
|
|
416
207
|
execute: async (input) => {
|
|
417
|
-
const key =
|
|
208
|
+
const key = ensureApiKey()
|
|
418
209
|
const params = parseToolInput(input)
|
|
419
210
|
return callSuperagnt(key, 'GET', '/v2/objects/{object}/views', params)
|
|
420
211
|
},
|
|
@@ -453,7 +244,7 @@ export default async function register(api) {
|
|
|
453
244
|
]
|
|
454
245
|
},
|
|
455
246
|
execute: async (input) => {
|
|
456
|
-
const key =
|
|
247
|
+
const key = ensureApiKey()
|
|
457
248
|
const params = parseToolInput(input)
|
|
458
249
|
return callSuperagnt(key, 'GET', '/v2/{target}/{identifier}/attributes', params)
|
|
459
250
|
},
|
|
@@ -485,7 +276,7 @@ export default async function register(api) {
|
|
|
485
276
|
]
|
|
486
277
|
},
|
|
487
278
|
execute: async (input) => {
|
|
488
|
-
const key =
|
|
279
|
+
const key = ensureApiKey()
|
|
489
280
|
const params = parseToolInput(input)
|
|
490
281
|
return callSuperagnt(key, 'POST', '/v2/{target}/{identifier}/attributes', undefined, params)
|
|
491
282
|
},
|
|
@@ -517,7 +308,7 @@ export default async function register(api) {
|
|
|
517
308
|
]
|
|
518
309
|
},
|
|
519
310
|
execute: async (input) => {
|
|
520
|
-
const key =
|
|
311
|
+
const key = ensureApiKey()
|
|
521
312
|
const params = parseToolInput(input)
|
|
522
313
|
return callSuperagnt(key, 'GET', '/v2/{target}/{identifier}/attributes/{attribute}', params)
|
|
523
314
|
},
|
|
@@ -554,7 +345,7 @@ export default async function register(api) {
|
|
|
554
345
|
]
|
|
555
346
|
},
|
|
556
347
|
execute: async (input) => {
|
|
557
|
-
const key =
|
|
348
|
+
const key = ensureApiKey()
|
|
558
349
|
const params = parseToolInput(input)
|
|
559
350
|
return callSuperagnt(key, 'PATCH', '/v2/{target}/{identifier}/attributes/{attribute}', undefined, params)
|
|
560
351
|
},
|
|
@@ -590,7 +381,7 @@ export default async function register(api) {
|
|
|
590
381
|
]
|
|
591
382
|
},
|
|
592
383
|
execute: async (input) => {
|
|
593
|
-
const key =
|
|
384
|
+
const key = ensureApiKey()
|
|
594
385
|
const params = parseToolInput(input)
|
|
595
386
|
return callSuperagnt(key, 'GET', '/v2/{target}/{identifier}/attributes/{attribute}/options', params)
|
|
596
387
|
},
|
|
@@ -627,7 +418,7 @@ export default async function register(api) {
|
|
|
627
418
|
]
|
|
628
419
|
},
|
|
629
420
|
execute: async (input) => {
|
|
630
|
-
const key =
|
|
421
|
+
const key = ensureApiKey()
|
|
631
422
|
const params = parseToolInput(input)
|
|
632
423
|
return callSuperagnt(key, 'POST', '/v2/{target}/{identifier}/attributes/{attribute}/options', undefined, params)
|
|
633
424
|
},
|
|
@@ -669,7 +460,7 @@ export default async function register(api) {
|
|
|
669
460
|
]
|
|
670
461
|
},
|
|
671
462
|
execute: async (input) => {
|
|
672
|
-
const key =
|
|
463
|
+
const key = ensureApiKey()
|
|
673
464
|
const params = parseToolInput(input)
|
|
674
465
|
return callSuperagnt(key, 'PATCH', '/v2/{target}/{identifier}/attributes/{attribute}/options/{option}', undefined, params)
|
|
675
466
|
},
|
|
@@ -705,7 +496,7 @@ export default async function register(api) {
|
|
|
705
496
|
]
|
|
706
497
|
},
|
|
707
498
|
execute: async (input) => {
|
|
708
|
-
const key =
|
|
499
|
+
const key = ensureApiKey()
|
|
709
500
|
const params = parseToolInput(input)
|
|
710
501
|
return callSuperagnt(key, 'GET', '/v2/{target}/{identifier}/attributes/{attribute}/statuses', params)
|
|
711
502
|
},
|
|
@@ -742,7 +533,7 @@ export default async function register(api) {
|
|
|
742
533
|
]
|
|
743
534
|
},
|
|
744
535
|
execute: async (input) => {
|
|
745
|
-
const key =
|
|
536
|
+
const key = ensureApiKey()
|
|
746
537
|
const params = parseToolInput(input)
|
|
747
538
|
return callSuperagnt(key, 'POST', '/v2/{target}/{identifier}/attributes/{attribute}/statuses', undefined, params)
|
|
748
539
|
},
|
|
@@ -784,7 +575,7 @@ export default async function register(api) {
|
|
|
784
575
|
]
|
|
785
576
|
},
|
|
786
577
|
execute: async (input) => {
|
|
787
|
-
const key =
|
|
578
|
+
const key = ensureApiKey()
|
|
788
579
|
const params = parseToolInput(input)
|
|
789
580
|
return callSuperagnt(key, 'PATCH', '/v2/{target}/{identifier}/attributes/{attribute}/statuses/{status}', undefined, params)
|
|
790
581
|
},
|
|
@@ -826,7 +617,7 @@ export default async function register(api) {
|
|
|
826
617
|
]
|
|
827
618
|
},
|
|
828
619
|
execute: async (input) => {
|
|
829
|
-
const key =
|
|
620
|
+
const key = ensureApiKey()
|
|
830
621
|
const params = parseToolInput(input)
|
|
831
622
|
return callSuperagnt(key, 'POST', '/v2/objects/{object}/records/query', undefined, params)
|
|
832
623
|
},
|
|
@@ -853,7 +644,7 @@ export default async function register(api) {
|
|
|
853
644
|
]
|
|
854
645
|
},
|
|
855
646
|
execute: async (input) => {
|
|
856
|
-
const key =
|
|
647
|
+
const key = ensureApiKey()
|
|
857
648
|
const params = parseToolInput(input)
|
|
858
649
|
return callSuperagnt(key, 'POST', '/v2/objects/{object}/records', undefined, params)
|
|
859
650
|
},
|
|
@@ -885,7 +676,7 @@ export default async function register(api) {
|
|
|
885
676
|
]
|
|
886
677
|
},
|
|
887
678
|
execute: async (input) => {
|
|
888
|
-
const key =
|
|
679
|
+
const key = ensureApiKey()
|
|
889
680
|
const params = parseToolInput(input)
|
|
890
681
|
return callSuperagnt(key, 'PUT', '/v2/objects/{object}/records', undefined, params)
|
|
891
682
|
},
|
|
@@ -912,7 +703,7 @@ export default async function register(api) {
|
|
|
912
703
|
]
|
|
913
704
|
},
|
|
914
705
|
execute: async (input) => {
|
|
915
|
-
const key =
|
|
706
|
+
const key = ensureApiKey()
|
|
916
707
|
const params = parseToolInput(input)
|
|
917
708
|
return callSuperagnt(key, 'GET', '/v2/objects/{object}/records/{record_id}', params)
|
|
918
709
|
},
|
|
@@ -944,7 +735,7 @@ export default async function register(api) {
|
|
|
944
735
|
]
|
|
945
736
|
},
|
|
946
737
|
execute: async (input) => {
|
|
947
|
-
const key =
|
|
738
|
+
const key = ensureApiKey()
|
|
948
739
|
const params = parseToolInput(input)
|
|
949
740
|
return callSuperagnt(key, 'PUT', '/v2/objects/{object}/records/{record_id}', undefined, params)
|
|
950
741
|
},
|
|
@@ -976,7 +767,7 @@ export default async function register(api) {
|
|
|
976
767
|
]
|
|
977
768
|
},
|
|
978
769
|
execute: async (input) => {
|
|
979
|
-
const key =
|
|
770
|
+
const key = ensureApiKey()
|
|
980
771
|
const params = parseToolInput(input)
|
|
981
772
|
return callSuperagnt(key, 'PATCH', '/v2/objects/{object}/records/{record_id}', undefined, params)
|
|
982
773
|
},
|
|
@@ -1003,7 +794,7 @@ export default async function register(api) {
|
|
|
1003
794
|
]
|
|
1004
795
|
},
|
|
1005
796
|
execute: async (input) => {
|
|
1006
|
-
const key =
|
|
797
|
+
const key = ensureApiKey()
|
|
1007
798
|
const params = parseToolInput(input)
|
|
1008
799
|
return callSuperagnt(key, 'DELETE', '/v2/objects/{object}/records/{record_id}', undefined, params)
|
|
1009
800
|
},
|
|
@@ -1047,7 +838,7 @@ export default async function register(api) {
|
|
|
1047
838
|
]
|
|
1048
839
|
},
|
|
1049
840
|
execute: async (input) => {
|
|
1050
|
-
const key =
|
|
841
|
+
const key = ensureApiKey()
|
|
1051
842
|
const params = parseToolInput(input)
|
|
1052
843
|
return callSuperagnt(key, 'GET', '/v2/objects/{object}/records/{record_id}/attributes/{attribute}/values', params)
|
|
1053
844
|
},
|
|
@@ -1082,7 +873,7 @@ export default async function register(api) {
|
|
|
1082
873
|
]
|
|
1083
874
|
},
|
|
1084
875
|
execute: async (input) => {
|
|
1085
|
-
const key =
|
|
876
|
+
const key = ensureApiKey()
|
|
1086
877
|
const params = parseToolInput(input)
|
|
1087
878
|
return callSuperagnt(key, 'GET', '/v2/objects/{object}/records/{record_id}/entries', params)
|
|
1088
879
|
},
|
|
@@ -1118,7 +909,7 @@ export default async function register(api) {
|
|
|
1118
909
|
]
|
|
1119
910
|
},
|
|
1120
911
|
execute: async (input) => {
|
|
1121
|
-
const key =
|
|
912
|
+
const key = ensureApiKey()
|
|
1122
913
|
const params = parseToolInput(input)
|
|
1123
914
|
return callSuperagnt(key, 'POST', '/v2/objects/records/search', undefined, params)
|
|
1124
915
|
},
|
|
@@ -1132,7 +923,7 @@ export default async function register(api) {
|
|
|
1132
923
|
"properties": {}
|
|
1133
924
|
},
|
|
1134
925
|
execute: async (input) => {
|
|
1135
|
-
const key =
|
|
926
|
+
const key = ensureApiKey()
|
|
1136
927
|
const params = parseToolInput(input)
|
|
1137
928
|
return callSuperagnt(key, 'GET', '/v2/lists', params)
|
|
1138
929
|
},
|
|
@@ -1154,7 +945,7 @@ export default async function register(api) {
|
|
|
1154
945
|
]
|
|
1155
946
|
},
|
|
1156
947
|
execute: async (input) => {
|
|
1157
|
-
const key =
|
|
948
|
+
const key = ensureApiKey()
|
|
1158
949
|
const params = parseToolInput(input)
|
|
1159
950
|
return callSuperagnt(key, 'POST', '/v2/lists', undefined, params)
|
|
1160
951
|
},
|
|
@@ -1176,7 +967,7 @@ export default async function register(api) {
|
|
|
1176
967
|
]
|
|
1177
968
|
},
|
|
1178
969
|
execute: async (input) => {
|
|
1179
|
-
const key =
|
|
970
|
+
const key = ensureApiKey()
|
|
1180
971
|
const params = parseToolInput(input)
|
|
1181
972
|
return callSuperagnt(key, 'GET', '/v2/lists/{list}', params)
|
|
1182
973
|
},
|
|
@@ -1203,7 +994,7 @@ export default async function register(api) {
|
|
|
1203
994
|
]
|
|
1204
995
|
},
|
|
1205
996
|
execute: async (input) => {
|
|
1206
|
-
const key =
|
|
997
|
+
const key = ensureApiKey()
|
|
1207
998
|
const params = parseToolInput(input)
|
|
1208
999
|
return callSuperagnt(key, 'PATCH', '/v2/lists/{list}', undefined, params)
|
|
1209
1000
|
},
|
|
@@ -1237,7 +1028,7 @@ export default async function register(api) {
|
|
|
1237
1028
|
]
|
|
1238
1029
|
},
|
|
1239
1030
|
execute: async (input) => {
|
|
1240
|
-
const key =
|
|
1031
|
+
const key = ensureApiKey()
|
|
1241
1032
|
const params = parseToolInput(input)
|
|
1242
1033
|
return callSuperagnt(key, 'GET', '/v2/lists/{list}/views', params)
|
|
1243
1034
|
},
|
|
@@ -1279,7 +1070,7 @@ export default async function register(api) {
|
|
|
1279
1070
|
]
|
|
1280
1071
|
},
|
|
1281
1072
|
execute: async (input) => {
|
|
1282
|
-
const key =
|
|
1073
|
+
const key = ensureApiKey()
|
|
1283
1074
|
const params = parseToolInput(input)
|
|
1284
1075
|
return callSuperagnt(key, 'POST', '/v2/lists/{list}/entries/query', undefined, params)
|
|
1285
1076
|
},
|
|
@@ -1306,7 +1097,7 @@ export default async function register(api) {
|
|
|
1306
1097
|
]
|
|
1307
1098
|
},
|
|
1308
1099
|
execute: async (input) => {
|
|
1309
|
-
const key =
|
|
1100
|
+
const key = ensureApiKey()
|
|
1310
1101
|
const params = parseToolInput(input)
|
|
1311
1102
|
return callSuperagnt(key, 'POST', '/v2/lists/{list}/entries', undefined, params)
|
|
1312
1103
|
},
|
|
@@ -1333,7 +1124,7 @@ export default async function register(api) {
|
|
|
1333
1124
|
]
|
|
1334
1125
|
},
|
|
1335
1126
|
execute: async (input) => {
|
|
1336
|
-
const key =
|
|
1127
|
+
const key = ensureApiKey()
|
|
1337
1128
|
const params = parseToolInput(input)
|
|
1338
1129
|
return callSuperagnt(key, 'PUT', '/v2/lists/{list}/entries', undefined, params)
|
|
1339
1130
|
},
|
|
@@ -1360,7 +1151,7 @@ export default async function register(api) {
|
|
|
1360
1151
|
]
|
|
1361
1152
|
},
|
|
1362
1153
|
execute: async (input) => {
|
|
1363
|
-
const key =
|
|
1154
|
+
const key = ensureApiKey()
|
|
1364
1155
|
const params = parseToolInput(input)
|
|
1365
1156
|
return callSuperagnt(key, 'GET', '/v2/lists/{list}/entries/{entry_id}', params)
|
|
1366
1157
|
},
|
|
@@ -1392,7 +1183,7 @@ export default async function register(api) {
|
|
|
1392
1183
|
]
|
|
1393
1184
|
},
|
|
1394
1185
|
execute: async (input) => {
|
|
1395
|
-
const key =
|
|
1186
|
+
const key = ensureApiKey()
|
|
1396
1187
|
const params = parseToolInput(input)
|
|
1397
1188
|
return callSuperagnt(key, 'PUT', '/v2/lists/{list}/entries/{entry_id}', undefined, params)
|
|
1398
1189
|
},
|
|
@@ -1424,7 +1215,7 @@ export default async function register(api) {
|
|
|
1424
1215
|
]
|
|
1425
1216
|
},
|
|
1426
1217
|
execute: async (input) => {
|
|
1427
|
-
const key =
|
|
1218
|
+
const key = ensureApiKey()
|
|
1428
1219
|
const params = parseToolInput(input)
|
|
1429
1220
|
return callSuperagnt(key, 'PATCH', '/v2/lists/{list}/entries/{entry_id}', undefined, params)
|
|
1430
1221
|
},
|
|
@@ -1451,7 +1242,7 @@ export default async function register(api) {
|
|
|
1451
1242
|
]
|
|
1452
1243
|
},
|
|
1453
1244
|
execute: async (input) => {
|
|
1454
|
-
const key =
|
|
1245
|
+
const key = ensureApiKey()
|
|
1455
1246
|
const params = parseToolInput(input)
|
|
1456
1247
|
return callSuperagnt(key, 'DELETE', '/v2/lists/{list}/entries/{entry_id}', undefined, params)
|
|
1457
1248
|
},
|
|
@@ -1495,7 +1286,7 @@ export default async function register(api) {
|
|
|
1495
1286
|
]
|
|
1496
1287
|
},
|
|
1497
1288
|
execute: async (input) => {
|
|
1498
|
-
const key =
|
|
1289
|
+
const key = ensureApiKey()
|
|
1499
1290
|
const params = parseToolInput(input)
|
|
1500
1291
|
return callSuperagnt(key, 'GET', '/v2/lists/{list}/entries/{entry_id}/attributes/{attribute}/values', params)
|
|
1501
1292
|
},
|
|
@@ -1509,7 +1300,7 @@ export default async function register(api) {
|
|
|
1509
1300
|
"properties": {}
|
|
1510
1301
|
},
|
|
1511
1302
|
execute: async (input) => {
|
|
1512
|
-
const key =
|
|
1303
|
+
const key = ensureApiKey()
|
|
1513
1304
|
const params = parseToolInput(input)
|
|
1514
1305
|
return callSuperagnt(key, 'GET', '/v2/workspace_members', params)
|
|
1515
1306
|
},
|
|
@@ -1531,7 +1322,7 @@ export default async function register(api) {
|
|
|
1531
1322
|
]
|
|
1532
1323
|
},
|
|
1533
1324
|
execute: async (input) => {
|
|
1534
|
-
const key =
|
|
1325
|
+
const key = ensureApiKey()
|
|
1535
1326
|
const params = parseToolInput(input)
|
|
1536
1327
|
return callSuperagnt(key, 'GET', '/v2/workspace_members/{workspace_member_id}', params)
|
|
1537
1328
|
},
|
|
@@ -1562,7 +1353,7 @@ export default async function register(api) {
|
|
|
1562
1353
|
}
|
|
1563
1354
|
},
|
|
1564
1355
|
execute: async (input) => {
|
|
1565
|
-
const key =
|
|
1356
|
+
const key = ensureApiKey()
|
|
1566
1357
|
const params = parseToolInput(input)
|
|
1567
1358
|
return callSuperagnt(key, 'GET', '/v2/notes', params)
|
|
1568
1359
|
},
|
|
@@ -1584,7 +1375,7 @@ export default async function register(api) {
|
|
|
1584
1375
|
]
|
|
1585
1376
|
},
|
|
1586
1377
|
execute: async (input) => {
|
|
1587
|
-
const key =
|
|
1378
|
+
const key = ensureApiKey()
|
|
1588
1379
|
const params = parseToolInput(input)
|
|
1589
1380
|
return callSuperagnt(key, 'POST', '/v2/notes', undefined, params)
|
|
1590
1381
|
},
|
|
@@ -1606,7 +1397,7 @@ export default async function register(api) {
|
|
|
1606
1397
|
]
|
|
1607
1398
|
},
|
|
1608
1399
|
execute: async (input) => {
|
|
1609
|
-
const key =
|
|
1400
|
+
const key = ensureApiKey()
|
|
1610
1401
|
const params = parseToolInput(input)
|
|
1611
1402
|
return callSuperagnt(key, 'GET', '/v2/notes/{note_id}', params)
|
|
1612
1403
|
},
|
|
@@ -1628,7 +1419,7 @@ export default async function register(api) {
|
|
|
1628
1419
|
]
|
|
1629
1420
|
},
|
|
1630
1421
|
execute: async (input) => {
|
|
1631
|
-
const key =
|
|
1422
|
+
const key = ensureApiKey()
|
|
1632
1423
|
const params = parseToolInput(input)
|
|
1633
1424
|
return callSuperagnt(key, 'DELETE', '/v2/notes/{note_id}', undefined, params)
|
|
1634
1425
|
},
|
|
@@ -1674,7 +1465,7 @@ export default async function register(api) {
|
|
|
1674
1465
|
}
|
|
1675
1466
|
},
|
|
1676
1467
|
execute: async (input) => {
|
|
1677
|
-
const key =
|
|
1468
|
+
const key = ensureApiKey()
|
|
1678
1469
|
const params = parseToolInput(input)
|
|
1679
1470
|
return callSuperagnt(key, 'GET', '/v2/tasks', params)
|
|
1680
1471
|
},
|
|
@@ -1696,7 +1487,7 @@ export default async function register(api) {
|
|
|
1696
1487
|
]
|
|
1697
1488
|
},
|
|
1698
1489
|
execute: async (input) => {
|
|
1699
|
-
const key =
|
|
1490
|
+
const key = ensureApiKey()
|
|
1700
1491
|
const params = parseToolInput(input)
|
|
1701
1492
|
return callSuperagnt(key, 'POST', '/v2/tasks', undefined, params)
|
|
1702
1493
|
},
|
|
@@ -1718,7 +1509,7 @@ export default async function register(api) {
|
|
|
1718
1509
|
]
|
|
1719
1510
|
},
|
|
1720
1511
|
execute: async (input) => {
|
|
1721
|
-
const key =
|
|
1512
|
+
const key = ensureApiKey()
|
|
1722
1513
|
const params = parseToolInput(input)
|
|
1723
1514
|
return callSuperagnt(key, 'GET', '/v2/tasks/{task_id}', params)
|
|
1724
1515
|
},
|
|
@@ -1745,7 +1536,7 @@ export default async function register(api) {
|
|
|
1745
1536
|
]
|
|
1746
1537
|
},
|
|
1747
1538
|
execute: async (input) => {
|
|
1748
|
-
const key =
|
|
1539
|
+
const key = ensureApiKey()
|
|
1749
1540
|
const params = parseToolInput(input)
|
|
1750
1541
|
return callSuperagnt(key, 'PATCH', '/v2/tasks/{task_id}', undefined, params)
|
|
1751
1542
|
},
|
|
@@ -1767,7 +1558,7 @@ export default async function register(api) {
|
|
|
1767
1558
|
]
|
|
1768
1559
|
},
|
|
1769
1560
|
execute: async (input) => {
|
|
1770
|
-
const key =
|
|
1561
|
+
const key = ensureApiKey()
|
|
1771
1562
|
const params = parseToolInput(input)
|
|
1772
1563
|
return callSuperagnt(key, 'DELETE', '/v2/tasks/{task_id}', undefined, params)
|
|
1773
1564
|
},
|
|
@@ -1806,7 +1597,7 @@ export default async function register(api) {
|
|
|
1806
1597
|
}
|
|
1807
1598
|
},
|
|
1808
1599
|
execute: async (input) => {
|
|
1809
|
-
const key =
|
|
1600
|
+
const key = ensureApiKey()
|
|
1810
1601
|
const params = parseToolInput(input)
|
|
1811
1602
|
return callSuperagnt(key, 'GET', '/v2/threads', params)
|
|
1812
1603
|
},
|
|
@@ -1828,7 +1619,7 @@ export default async function register(api) {
|
|
|
1828
1619
|
]
|
|
1829
1620
|
},
|
|
1830
1621
|
execute: async (input) => {
|
|
1831
|
-
const key =
|
|
1622
|
+
const key = ensureApiKey()
|
|
1832
1623
|
const params = parseToolInput(input)
|
|
1833
1624
|
return callSuperagnt(key, 'GET', '/v2/threads/{thread_id}', params)
|
|
1834
1625
|
},
|
|
@@ -1850,7 +1641,7 @@ export default async function register(api) {
|
|
|
1850
1641
|
]
|
|
1851
1642
|
},
|
|
1852
1643
|
execute: async (input) => {
|
|
1853
|
-
const key =
|
|
1644
|
+
const key = ensureApiKey()
|
|
1854
1645
|
const params = parseToolInput(input)
|
|
1855
1646
|
return callSuperagnt(key, 'POST', '/v2/comments', undefined, params)
|
|
1856
1647
|
},
|
|
@@ -1872,7 +1663,7 @@ export default async function register(api) {
|
|
|
1872
1663
|
]
|
|
1873
1664
|
},
|
|
1874
1665
|
execute: async (input) => {
|
|
1875
|
-
const key =
|
|
1666
|
+
const key = ensureApiKey()
|
|
1876
1667
|
const params = parseToolInput(input)
|
|
1877
1668
|
return callSuperagnt(key, 'GET', '/v2/comments/{comment_id}', params)
|
|
1878
1669
|
},
|
|
@@ -1894,7 +1685,7 @@ export default async function register(api) {
|
|
|
1894
1685
|
]
|
|
1895
1686
|
},
|
|
1896
1687
|
execute: async (input) => {
|
|
1897
|
-
const key =
|
|
1688
|
+
const key = ensureApiKey()
|
|
1898
1689
|
const params = parseToolInput(input)
|
|
1899
1690
|
return callSuperagnt(key, 'DELETE', '/v2/comments/{comment_id}', undefined, params)
|
|
1900
1691
|
},
|
|
@@ -1951,7 +1742,7 @@ export default async function register(api) {
|
|
|
1951
1742
|
}
|
|
1952
1743
|
},
|
|
1953
1744
|
execute: async (input) => {
|
|
1954
|
-
const key =
|
|
1745
|
+
const key = ensureApiKey()
|
|
1955
1746
|
const params = parseToolInput(input)
|
|
1956
1747
|
return callSuperagnt(key, 'GET', '/v2/meetings', params)
|
|
1957
1748
|
},
|
|
@@ -1973,7 +1764,7 @@ export default async function register(api) {
|
|
|
1973
1764
|
]
|
|
1974
1765
|
},
|
|
1975
1766
|
execute: async (input) => {
|
|
1976
|
-
const key =
|
|
1767
|
+
const key = ensureApiKey()
|
|
1977
1768
|
const params = parseToolInput(input)
|
|
1978
1769
|
return callSuperagnt(key, 'POST', '/v2/meetings', undefined, params)
|
|
1979
1770
|
},
|
|
@@ -1995,7 +1786,7 @@ export default async function register(api) {
|
|
|
1995
1786
|
]
|
|
1996
1787
|
},
|
|
1997
1788
|
execute: async (input) => {
|
|
1998
|
-
const key =
|
|
1789
|
+
const key = ensureApiKey()
|
|
1999
1790
|
const params = parseToolInput(input)
|
|
2000
1791
|
return callSuperagnt(key, 'GET', '/v2/meetings/{meeting_id}', params)
|
|
2001
1792
|
},
|
|
@@ -2025,7 +1816,7 @@ export default async function register(api) {
|
|
|
2025
1816
|
]
|
|
2026
1817
|
},
|
|
2027
1818
|
execute: async (input) => {
|
|
2028
|
-
const key =
|
|
1819
|
+
const key = ensureApiKey()
|
|
2029
1820
|
const params = parseToolInput(input)
|
|
2030
1821
|
return callSuperagnt(key, 'GET', '/v2/meetings/{meeting_id}/call_recordings', params)
|
|
2031
1822
|
},
|
|
@@ -2052,7 +1843,7 @@ export default async function register(api) {
|
|
|
2052
1843
|
]
|
|
2053
1844
|
},
|
|
2054
1845
|
execute: async (input) => {
|
|
2055
|
-
const key =
|
|
1846
|
+
const key = ensureApiKey()
|
|
2056
1847
|
const params = parseToolInput(input)
|
|
2057
1848
|
return callSuperagnt(key, 'POST', '/v2/meetings/{meeting_id}/call_recordings', undefined, params)
|
|
2058
1849
|
},
|
|
@@ -2079,7 +1870,7 @@ export default async function register(api) {
|
|
|
2079
1870
|
]
|
|
2080
1871
|
},
|
|
2081
1872
|
execute: async (input) => {
|
|
2082
|
-
const key =
|
|
1873
|
+
const key = ensureApiKey()
|
|
2083
1874
|
const params = parseToolInput(input)
|
|
2084
1875
|
return callSuperagnt(key, 'GET', '/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}', params)
|
|
2085
1876
|
},
|
|
@@ -2106,7 +1897,7 @@ export default async function register(api) {
|
|
|
2106
1897
|
]
|
|
2107
1898
|
},
|
|
2108
1899
|
execute: async (input) => {
|
|
2109
|
-
const key =
|
|
1900
|
+
const key = ensureApiKey()
|
|
2110
1901
|
const params = parseToolInput(input)
|
|
2111
1902
|
return callSuperagnt(key, 'DELETE', '/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}', undefined, params)
|
|
2112
1903
|
},
|
|
@@ -2137,7 +1928,7 @@ export default async function register(api) {
|
|
|
2137
1928
|
]
|
|
2138
1929
|
},
|
|
2139
1930
|
execute: async (input) => {
|
|
2140
|
-
const key =
|
|
1931
|
+
const key = ensureApiKey()
|
|
2141
1932
|
const params = parseToolInput(input)
|
|
2142
1933
|
return callSuperagnt(key, 'GET', '/v2/meetings/{meeting_id}/call_recordings/{call_recording_id}/transcript', params)
|
|
2143
1934
|
},
|
|
@@ -2180,7 +1971,7 @@ export default async function register(api) {
|
|
|
2180
1971
|
]
|
|
2181
1972
|
},
|
|
2182
1973
|
execute: async (input) => {
|
|
2183
|
-
const key =
|
|
1974
|
+
const key = ensureApiKey()
|
|
2184
1975
|
const params = parseToolInput(input)
|
|
2185
1976
|
return callSuperagnt(key, 'GET', '/v2/files', params)
|
|
2186
1977
|
},
|
|
@@ -2194,7 +1985,7 @@ export default async function register(api) {
|
|
|
2194
1985
|
"properties": {}
|
|
2195
1986
|
},
|
|
2196
1987
|
execute: async (input) => {
|
|
2197
|
-
const key =
|
|
1988
|
+
const key = ensureApiKey()
|
|
2198
1989
|
const params = parseToolInput(input)
|
|
2199
1990
|
return callSuperagnt(key, 'POST', '/v2/files', undefined, params)
|
|
2200
1991
|
},
|
|
@@ -2208,7 +1999,7 @@ export default async function register(api) {
|
|
|
2208
1999
|
"properties": {}
|
|
2209
2000
|
},
|
|
2210
2001
|
execute: async (input) => {
|
|
2211
|
-
const key =
|
|
2002
|
+
const key = ensureApiKey()
|
|
2212
2003
|
const params = parseToolInput(input)
|
|
2213
2004
|
return callSuperagnt(key, 'POST', '/v2/files/upload', undefined, params)
|
|
2214
2005
|
},
|
|
@@ -2230,7 +2021,7 @@ export default async function register(api) {
|
|
|
2230
2021
|
]
|
|
2231
2022
|
},
|
|
2232
2023
|
execute: async (input) => {
|
|
2233
|
-
const key =
|
|
2024
|
+
const key = ensureApiKey()
|
|
2234
2025
|
const params = parseToolInput(input)
|
|
2235
2026
|
return callSuperagnt(key, 'GET', '/v2/files/{file_id}', params)
|
|
2236
2027
|
},
|
|
@@ -2252,7 +2043,7 @@ export default async function register(api) {
|
|
|
2252
2043
|
]
|
|
2253
2044
|
},
|
|
2254
2045
|
execute: async (input) => {
|
|
2255
|
-
const key =
|
|
2046
|
+
const key = ensureApiKey()
|
|
2256
2047
|
const params = parseToolInput(input)
|
|
2257
2048
|
return callSuperagnt(key, 'DELETE', '/v2/files/{file_id}', undefined, params)
|
|
2258
2049
|
},
|
|
@@ -2274,7 +2065,7 @@ export default async function register(api) {
|
|
|
2274
2065
|
]
|
|
2275
2066
|
},
|
|
2276
2067
|
execute: async (input) => {
|
|
2277
|
-
const key =
|
|
2068
|
+
const key = ensureApiKey()
|
|
2278
2069
|
const params = parseToolInput(input)
|
|
2279
2070
|
return callSuperagnt(key, 'GET', '/v2/files/{file_id}/download', params)
|
|
2280
2071
|
},
|
|
@@ -2288,7 +2079,7 @@ export default async function register(api) {
|
|
|
2288
2079
|
"properties": {}
|
|
2289
2080
|
},
|
|
2290
2081
|
execute: async (input) => {
|
|
2291
|
-
const key =
|
|
2082
|
+
const key = ensureApiKey()
|
|
2292
2083
|
const params = parseToolInput(input)
|
|
2293
2084
|
return callSuperagnt(key, 'GET', '/scim/v2/Schemas', params)
|
|
2294
2085
|
},
|
|
@@ -2302,7 +2093,7 @@ export default async function register(api) {
|
|
|
2302
2093
|
"properties": {}
|
|
2303
2094
|
},
|
|
2304
2095
|
execute: async (input) => {
|
|
2305
|
-
const key =
|
|
2096
|
+
const key = ensureApiKey()
|
|
2306
2097
|
const params = parseToolInput(input)
|
|
2307
2098
|
return callSuperagnt(key, 'GET', '/scim/v2/Users', params)
|
|
2308
2099
|
},
|
|
@@ -2316,7 +2107,7 @@ export default async function register(api) {
|
|
|
2316
2107
|
"properties": {}
|
|
2317
2108
|
},
|
|
2318
2109
|
execute: async (input) => {
|
|
2319
|
-
const key =
|
|
2110
|
+
const key = ensureApiKey()
|
|
2320
2111
|
const params = parseToolInput(input)
|
|
2321
2112
|
return callSuperagnt(key, 'POST', '/scim/v2/Users', undefined, params)
|
|
2322
2113
|
},
|
|
@@ -2330,7 +2121,7 @@ export default async function register(api) {
|
|
|
2330
2121
|
"properties": {}
|
|
2331
2122
|
},
|
|
2332
2123
|
execute: async (input) => {
|
|
2333
|
-
const key =
|
|
2124
|
+
const key = ensureApiKey()
|
|
2334
2125
|
const params = parseToolInput(input)
|
|
2335
2126
|
return callSuperagnt(key, 'GET', '/scim/v2/Groups', params)
|
|
2336
2127
|
},
|
|
@@ -2344,7 +2135,7 @@ export default async function register(api) {
|
|
|
2344
2135
|
"properties": {}
|
|
2345
2136
|
},
|
|
2346
2137
|
execute: async (input) => {
|
|
2347
|
-
const key =
|
|
2138
|
+
const key = ensureApiKey()
|
|
2348
2139
|
const params = parseToolInput(input)
|
|
2349
2140
|
return callSuperagnt(key, 'POST', '/scim/v2/Groups', undefined, params)
|
|
2350
2141
|
},
|
|
@@ -2358,7 +2149,7 @@ export default async function register(api) {
|
|
|
2358
2149
|
"properties": {}
|
|
2359
2150
|
},
|
|
2360
2151
|
execute: async (input) => {
|
|
2361
|
-
const key =
|
|
2152
|
+
const key = ensureApiKey()
|
|
2362
2153
|
const params = parseToolInput(input)
|
|
2363
2154
|
return callSuperagnt(key, 'GET', '/scim/v2/Users/{user_id}', params)
|
|
2364
2155
|
},
|
|
@@ -2372,7 +2163,7 @@ export default async function register(api) {
|
|
|
2372
2163
|
"properties": {}
|
|
2373
2164
|
},
|
|
2374
2165
|
execute: async (input) => {
|
|
2375
|
-
const key =
|
|
2166
|
+
const key = ensureApiKey()
|
|
2376
2167
|
const params = parseToolInput(input)
|
|
2377
2168
|
return callSuperagnt(key, 'PUT', '/scim/v2/Users/{user_id}', undefined, params)
|
|
2378
2169
|
},
|
|
@@ -2386,7 +2177,7 @@ export default async function register(api) {
|
|
|
2386
2177
|
"properties": {}
|
|
2387
2178
|
},
|
|
2388
2179
|
execute: async (input) => {
|
|
2389
|
-
const key =
|
|
2180
|
+
const key = ensureApiKey()
|
|
2390
2181
|
const params = parseToolInput(input)
|
|
2391
2182
|
return callSuperagnt(key, 'PATCH', '/scim/v2/Users/{user_id}', undefined, params)
|
|
2392
2183
|
},
|
|
@@ -2400,7 +2191,7 @@ export default async function register(api) {
|
|
|
2400
2191
|
"properties": {}
|
|
2401
2192
|
},
|
|
2402
2193
|
execute: async (input) => {
|
|
2403
|
-
const key =
|
|
2194
|
+
const key = ensureApiKey()
|
|
2404
2195
|
const params = parseToolInput(input)
|
|
2405
2196
|
return callSuperagnt(key, 'DELETE', '/scim/v2/Users/{user_id}', undefined, params)
|
|
2406
2197
|
},
|
|
@@ -2414,7 +2205,7 @@ export default async function register(api) {
|
|
|
2414
2205
|
"properties": {}
|
|
2415
2206
|
},
|
|
2416
2207
|
execute: async (input) => {
|
|
2417
|
-
const key =
|
|
2208
|
+
const key = ensureApiKey()
|
|
2418
2209
|
const params = parseToolInput(input)
|
|
2419
2210
|
return callSuperagnt(key, 'GET', '/scim/v2/Groups/{workspace_team_id}', params)
|
|
2420
2211
|
},
|
|
@@ -2428,7 +2219,7 @@ export default async function register(api) {
|
|
|
2428
2219
|
"properties": {}
|
|
2429
2220
|
},
|
|
2430
2221
|
execute: async (input) => {
|
|
2431
|
-
const key =
|
|
2222
|
+
const key = ensureApiKey()
|
|
2432
2223
|
const params = parseToolInput(input)
|
|
2433
2224
|
return callSuperagnt(key, 'PUT', '/scim/v2/Groups/{workspace_team_id}', undefined, params)
|
|
2434
2225
|
},
|
|
@@ -2442,7 +2233,7 @@ export default async function register(api) {
|
|
|
2442
2233
|
"properties": {}
|
|
2443
2234
|
},
|
|
2444
2235
|
execute: async (input) => {
|
|
2445
|
-
const key =
|
|
2236
|
+
const key = ensureApiKey()
|
|
2446
2237
|
const params = parseToolInput(input)
|
|
2447
2238
|
return callSuperagnt(key, 'PATCH', '/scim/v2/Groups/{workspace_team_id}', undefined, params)
|
|
2448
2239
|
},
|
|
@@ -2456,7 +2247,7 @@ export default async function register(api) {
|
|
|
2456
2247
|
"properties": {}
|
|
2457
2248
|
},
|
|
2458
2249
|
execute: async (input) => {
|
|
2459
|
-
const key =
|
|
2250
|
+
const key = ensureApiKey()
|
|
2460
2251
|
const params = parseToolInput(input)
|
|
2461
2252
|
return callSuperagnt(key, 'DELETE', '/scim/v2/Groups/{workspace_team_id}', undefined, params)
|
|
2462
2253
|
},
|
|
@@ -2479,7 +2270,7 @@ export default async function register(api) {
|
|
|
2479
2270
|
}
|
|
2480
2271
|
},
|
|
2481
2272
|
execute: async (input) => {
|
|
2482
|
-
const key =
|
|
2273
|
+
const key = ensureApiKey()
|
|
2483
2274
|
const params = parseToolInput(input)
|
|
2484
2275
|
return callSuperagnt(key, 'GET', '/v2/webhooks', params)
|
|
2485
2276
|
},
|
|
@@ -2501,7 +2292,7 @@ export default async function register(api) {
|
|
|
2501
2292
|
]
|
|
2502
2293
|
},
|
|
2503
2294
|
execute: async (input) => {
|
|
2504
|
-
const key =
|
|
2295
|
+
const key = ensureApiKey()
|
|
2505
2296
|
const params = parseToolInput(input)
|
|
2506
2297
|
return callSuperagnt(key, 'POST', '/v2/webhooks', undefined, params)
|
|
2507
2298
|
},
|
|
@@ -2523,7 +2314,7 @@ export default async function register(api) {
|
|
|
2523
2314
|
]
|
|
2524
2315
|
},
|
|
2525
2316
|
execute: async (input) => {
|
|
2526
|
-
const key =
|
|
2317
|
+
const key = ensureApiKey()
|
|
2527
2318
|
const params = parseToolInput(input)
|
|
2528
2319
|
return callSuperagnt(key, 'GET', '/v2/webhooks/{webhook_id}', params)
|
|
2529
2320
|
},
|
|
@@ -2550,7 +2341,7 @@ export default async function register(api) {
|
|
|
2550
2341
|
]
|
|
2551
2342
|
},
|
|
2552
2343
|
execute: async (input) => {
|
|
2553
|
-
const key =
|
|
2344
|
+
const key = ensureApiKey()
|
|
2554
2345
|
const params = parseToolInput(input)
|
|
2555
2346
|
return callSuperagnt(key, 'PATCH', '/v2/webhooks/{webhook_id}', undefined, params)
|
|
2556
2347
|
},
|
|
@@ -2572,7 +2363,7 @@ export default async function register(api) {
|
|
|
2572
2363
|
]
|
|
2573
2364
|
},
|
|
2574
2365
|
execute: async (input) => {
|
|
2575
|
-
const key =
|
|
2366
|
+
const key = ensureApiKey()
|
|
2576
2367
|
const params = parseToolInput(input)
|
|
2577
2368
|
return callSuperagnt(key, 'DELETE', '/v2/webhooks/{webhook_id}', undefined, params)
|
|
2578
2369
|
},
|
|
@@ -2586,12 +2377,9 @@ export default async function register(api) {
|
|
|
2586
2377
|
"properties": {}
|
|
2587
2378
|
},
|
|
2588
2379
|
execute: async (input) => {
|
|
2589
|
-
const key =
|
|
2380
|
+
const key = ensureApiKey()
|
|
2590
2381
|
const params = parseToolInput(input)
|
|
2591
2382
|
return callSuperagnt(key, 'GET', '/v2/self', params)
|
|
2592
2383
|
},
|
|
2593
2384
|
})
|
|
2594
|
-
|
|
2595
|
-
promptState.toolCount = 87
|
|
2596
|
-
promptState.ready = true
|
|
2597
2385
|
}
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,98 @@
|
|
|
2
2
|
"id": "attio-crm",
|
|
3
3
|
"name": "Attio Integration",
|
|
4
4
|
"description": "OpenClaw plugin for Attio CRM — manage records, lists, notes, tasks, meetings, and call recordings with your superagnt API key.",
|
|
5
|
-
"version": "2.0.
|
|
5
|
+
"version": "2.0.3",
|
|
6
|
+
"contracts": {
|
|
7
|
+
"tools": [
|
|
8
|
+
"superagnt_connection_attio_get_v2_objects",
|
|
9
|
+
"superagnt_connection_attio_post_v2_objects",
|
|
10
|
+
"superagnt_connection_attio_get_v2_objects__object_",
|
|
11
|
+
"superagnt_connection_attio_patch_v2_objects__object_",
|
|
12
|
+
"superagnt_connection_attio_get_v2_objects__object__views",
|
|
13
|
+
"superagnt_connection_attio_list_attributes",
|
|
14
|
+
"superagnt_connection_attio_create_attribute",
|
|
15
|
+
"superagnt_connection_attio_get_attribute",
|
|
16
|
+
"superagnt_connection_attio_update_attribute",
|
|
17
|
+
"superagnt_connection_attio_list_attribute_options",
|
|
18
|
+
"superagnt_connection_attio_create_attribute_option",
|
|
19
|
+
"superagnt_connection_attio_update_attribute_option",
|
|
20
|
+
"superagnt_connection_attio_list_attribute_statuses",
|
|
21
|
+
"superagnt_connection_attio_create_attribute_status",
|
|
22
|
+
"superagnt_connection_attio_update_attribute_status",
|
|
23
|
+
"superagnt_connection_attio_list_records",
|
|
24
|
+
"superagnt_connection_attio_post_v2_objects__object__records",
|
|
25
|
+
"superagnt_connection_attio_put_v2_objects__object__records",
|
|
26
|
+
"superagnt_connection_attio_get_record",
|
|
27
|
+
"superagnt_connection_attio_overwrite_record",
|
|
28
|
+
"superagnt_connection_attio_update_record",
|
|
29
|
+
"superagnt_connection_attio_delete_record",
|
|
30
|
+
"superagnt_connection_attio_list_record_attribute_values",
|
|
31
|
+
"superagnt_connection_attio_list_record_list_entries",
|
|
32
|
+
"superagnt_connection_attio_post_v2_objects_records_search",
|
|
33
|
+
"superagnt_connection_attio_get_v2_lists",
|
|
34
|
+
"superagnt_connection_attio_post_v2_lists",
|
|
35
|
+
"superagnt_connection_attio_get_v2_lists__list_",
|
|
36
|
+
"superagnt_connection_attio_patch_v2_lists__list_",
|
|
37
|
+
"superagnt_connection_attio_get_v2_lists__list__views",
|
|
38
|
+
"superagnt_connection_attio_list_list_entries",
|
|
39
|
+
"superagnt_connection_attio_post_v2_lists__list__entries",
|
|
40
|
+
"superagnt_connection_attio_put_v2_lists__list__entries",
|
|
41
|
+
"superagnt_connection_attio_get_list_entry",
|
|
42
|
+
"superagnt_connection_attio_overwrite_list_entry",
|
|
43
|
+
"superagnt_connection_attio_update_list_entry",
|
|
44
|
+
"superagnt_connection_attio_delete_list_entry",
|
|
45
|
+
"superagnt_connection_attio_list_list_entry_attribute_values",
|
|
46
|
+
"superagnt_connection_attio_get_v2_workspace_members",
|
|
47
|
+
"superagnt_connection_attio_get_workspace_member",
|
|
48
|
+
"superagnt_connection_attio_get_v2_notes",
|
|
49
|
+
"superagnt_connection_attio_post_v2_notes",
|
|
50
|
+
"superagnt_connection_attio_get_v2_notes__note_id_",
|
|
51
|
+
"superagnt_connection_attio_delete_v2_notes__note_id_",
|
|
52
|
+
"superagnt_connection_attio_get_v2_tasks",
|
|
53
|
+
"superagnt_connection_attio_post_v2_tasks",
|
|
54
|
+
"superagnt_connection_attio_get_v2_tasks__task_id_",
|
|
55
|
+
"superagnt_connection_attio_patch_v2_tasks__task_id_",
|
|
56
|
+
"superagnt_connection_attio_delete_v2_tasks__task_id_",
|
|
57
|
+
"superagnt_connection_attio_get_v2_threads",
|
|
58
|
+
"superagnt_connection_attio_get_v2_threads__thread_id_",
|
|
59
|
+
"superagnt_connection_attio_post_v2_comments",
|
|
60
|
+
"superagnt_connection_attio_get_v2_comments__comment_id_",
|
|
61
|
+
"superagnt_connection_attio_delete_v2_comments__comment_id_",
|
|
62
|
+
"superagnt_connection_attio_get_v2_meetings",
|
|
63
|
+
"superagnt_connection_attio_post_v2_meetings",
|
|
64
|
+
"superagnt_connection_attio_get_v2_meetings__meeting_id_",
|
|
65
|
+
"superagnt_connection_attio_list_call_recordings",
|
|
66
|
+
"superagnt_connection_attio_create_call_recording",
|
|
67
|
+
"superagnt_connection_attio_get_call_recording",
|
|
68
|
+
"superagnt_connection_attio_delete_call_recording",
|
|
69
|
+
"superagnt_connection_attio_get_call_recording_transcript",
|
|
70
|
+
"superagnt_connection_attio_get_v2_files",
|
|
71
|
+
"superagnt_connection_attio_post_v2_files",
|
|
72
|
+
"superagnt_connection_attio_post_v2_files_upload",
|
|
73
|
+
"superagnt_connection_attio_get_v2_files__file_id_",
|
|
74
|
+
"superagnt_connection_attio_delete_v2_files__file_id_",
|
|
75
|
+
"superagnt_connection_attio_get_v2_files__file_id__download",
|
|
76
|
+
"superagnt_connection_attio_get_scim_v2_Schemas",
|
|
77
|
+
"superagnt_connection_attio_get_scim_v2_Users",
|
|
78
|
+
"superagnt_connection_attio_post_scim_v2_Users",
|
|
79
|
+
"superagnt_connection_attio_get_scim_v2_Groups",
|
|
80
|
+
"superagnt_connection_attio_post_scim_v2_Groups",
|
|
81
|
+
"superagnt_connection_attio_get_scim_v2_Users__user_id_",
|
|
82
|
+
"superagnt_connection_attio_put_scim_v2_Users__user_id_",
|
|
83
|
+
"superagnt_connection_attio_patch_scim_v2_Users__user_id_",
|
|
84
|
+
"superagnt_connection_attio_delete_scim_v2_Users__user_id_",
|
|
85
|
+
"superagnt_connection_attio_scim_get_group",
|
|
86
|
+
"superagnt_connection_attio_scim_replace_group",
|
|
87
|
+
"superagnt_connection_attio_scim_patch_group",
|
|
88
|
+
"superagnt_connection_attio_scim_delete_group",
|
|
89
|
+
"superagnt_connection_attio_get_v2_webhooks",
|
|
90
|
+
"superagnt_connection_attio_post_v2_webhooks",
|
|
91
|
+
"superagnt_connection_attio_get_v2_webhooks__webhook_id_",
|
|
92
|
+
"superagnt_connection_attio_patch_v2_webhooks__webhook_id_",
|
|
93
|
+
"superagnt_connection_attio_delete_v2_webhooks__webhook_id_",
|
|
94
|
+
"superagnt_connection_attio_get_v2_self"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
6
97
|
"configSchema": {
|
|
7
98
|
"type": "object",
|
|
8
99
|
"properties": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superagnt/attio-crm",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OpenClaw plugin for Attio CRM — manage records, lists, notes, tasks, meetings, and call recordings with your superagnt API key.",
|
|
6
6
|
"main": "index.js",
|