Skip to content

Commit 62c48bf

Browse files
authored
improvement(tools): validate integrations, add Gong activity tools, regenerate docs (#4937)
* improvement(tools): validate integrations, add Gong activity tools, regenerate docs * fix(servicenow): give list-attachments limit a unique subBlock id Read Records and List Attachments shared the subBlock id 'limit', so the single-value-per-id store could bleed the value across operations. Rename the new list-attachments field to attachmentLimit and map it back to the tool's limit param. * fix(servicenow): type upload-attachment response json to fix build typecheck secureFetchWithValidation's response.json() resolves to unknown under the build's stricter typecheck; cast the parsed body so data.result is accessible. * refactor(servicenow): type upload-attachment response per file-route convention Match the SharePoint/OneDrive upload pattern: import the named ServiceNowAttachment type from the tool's types, cast response.json() to it, and extract specific fields with ?? null instead of passing data.result through as an opaque unknown blob. * fix(servicenow): remove invalid 'custom' generationType from groupBy wandConfig 'custom' is not a member of the GenerationType union, breaking the build typecheck. No valid type fits a comma-separated field list, so drop the wandConfig (consistent with the block's other field-list inputs). * fix(servicenow): drop redundant hidden fileContent param from upload attachment Per project rule, visibility:'hidden' is reserved for framework-injected tokens, not user-supplied data. fileContent was a copied-over legacy fallback with no caller (the block uploads via the canonical file/UserFile path), so remove it from the tool, types, contract, and route. * fix(dub): require a link selector for bulk update links Bulk Update Links could run with only Update Data and no Link IDs or External IDs, sending Dub a request with no target links and producing a confusing API error. Guard the tool to throw a clear validation error when neither selector is provided, and clarify the block placeholder.
1 parent 192f77b commit 62c48bf

101 files changed

Lines changed: 5130 additions & 184 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/docs/components/icons.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4987,7 +4987,7 @@ export function IntercomIcon(props: SVGProps<SVGSVGElement>) {
49874987
<g>
49884988
<path
49894989
d='M221.66,144.56 C221.66,146.9 220.76,149.15 219.17,150.8 C217.57,152.46 215.4,153.39 213.15,153.39 C210.89,153.39 208.72,152.46 207.12,150.8 C205.53,149.15 204.63,146.9 204.63,144.56 L204.63,65.68 C204.63,63.34 205.53,61.09 207.12,59.43 C208.72,57.78 210.89,56.85 213.15,56.85 C215.4,56.85 217.57,57.78 219.17,59.43 C220.76,61.09 221.66,63.34 221.66,65.68 L221.66,144.56 Z M218.7,199.22 C217.58,200.39 185.91,227.75 127.86,227.75 C69.81,227.75 38.35,200.53 37.01,199.36 C36.17,198.63 35.48,197.73 34.97,196.71 C34.47,195.69 34.16,194.59 34.07,193.45 C33.98,192.31 34.1,191.16 34.44,190.07 C34.77,188.98 35.32,187.98 36.03,187.1 C37.5,185.34 39.58,184.25 41.82,184.07 C44.06,183.9 46.28,184.64 47.99,186.16 C48.48,186.52 76.77,210.31 127.79,210.31 C178.81,210.31 207.3,186.37 207.59,186.16 C209.32,184.66 211.54,183.92 213.79,184.1 C216.04,184.27 218.13,185.35 219.62,187.1 C221.06,188.84 221.77,191.1 221.61,193.38 C221.46,195.66 220.44,197.78 218.78,199.29 L218.7,199.22 Z M33.99,65.68 C34.12,63.33 35.13,61.13 36.82,59.55 C38.51,57.98 40.73,57.17 43,57.29 C45.1,57.41 47.08,58.33 48.56,59.88 C50.04,61.43 50.92,63.5 51.02,65.68 L51.02,144.42 C51.02,146.76 50.12,149 48.52,150.66 C46.93,152.31 44.76,153.24 42.5,153.24 C40.24,153.24 38.08,152.31 36.48,150.66 C34.88,149 33.99,146.76 33.99,144.42 L33.99,65.68 Z M76.7,48.16 C76.83,45.81 77.85,43.61 79.54,42.04 C81.22,40.47 83.44,39.65 85.71,39.77 C87.81,39.9 89.79,40.82 91.27,42.37 C92.75,43.92 93.63,45.98 93.73,48.16 L93.73,164.92 C93.73,167.26 92.83,169.51 91.24,171.16 C89.64,172.82 87.47,173.75 85.22,173.75 C82.96,173.75 80.79,172.82 79.2,171.16 C77.6,169.51 76.7,167.26 76.7,164.92 L76.7,48.16 Z M119.63,43.79 C119.63,41.44 120.52,39.2 122.12,37.54 C123.72,35.89 125.88,34.96 128.14,34.96 C130.4,34.96 132.56,35.89 134.16,37.54 C135.76,39.2 136.66,41.44 136.66,43.79 L136.66,170.76 C136.66,173.1 135.76,175.35 134.16,177 C132.56,178.66 130.4,179.59 128.14,179.59 C125.88,179.59 123.72,178.66 122.12,177 C120.52,175.35 119.63,173.1 119.63,170.76 L119.63,43.79 Z M161.85,48.16 C161.85,45.82 162.74,43.58 164.34,41.92 C165.94,40.26 168.1,39.33 170.36,39.33 C172.62,39.33 174.79,40.26 176.38,41.92 C177.98,43.58 178.88,45.82 178.88,48.16 L178.88,164.92 C178.88,167.26 177.98,169.51 176.38,171.16 C174.79,172.82 172.62,173.75 170.36,173.75 C168.1,173.75 165.94,172.82 164.34,171.16 C162.74,169.51 161.85,167.26 161.85,164.92 L161.85,48.16 Z M223.98,0 L32.02,0 C27.83,-0.03 23.69,0.8 19.81,2.44 C15.94,4.07 12.41,6.48 9.44,9.53 C6.47,12.58 4.1,16.21 2.48,20.21 C0.86,24.21 0.02,28.5 0,32.84 L0,229.87 C0.02,234.2 0.86,238.5 2.48,242.49 C4.1,246.49 6.47,250.12 9.44,253.17 C12.41,256.22 15.94,258.64 19.81,260.27 C23.69,261.91 27.83,262.73 32.02,262.71 L223.98,262.71 C228.16,262.73 232.3,261.91 236.17,260.28 C240.04,258.65 243.56,256.24 246.53,253.2 C249.51,250.16 251.87,246.54 253.5,242.55 C255.12,238.55 255.97,234.27 256,229.94 L256,32.84 C255.98,28.51 255.14,24.22 253.52,20.23 C251.91,16.23 249.55,12.61 246.58,9.56 C243.62,6.51 240.1,4.1 236.24,2.46 C232.37,0.82 228.23,-0.02 224.05,0'
4990-
fill='currentColor'
4990+
fill='#000000'
49914991
/>
49924992
</g>
49934993
</svg>
@@ -5028,7 +5028,7 @@ export function MailchimpIcon(props: SVGProps<SVGSVGElement>) {
50285028
y='0px'
50295029
viewBox='0 0 230.81 244.96'
50305030
xmlSpace='preserve'
5031-
fill='currentColor'
5031+
fill='#000000'
50325032
>
50335033
<g>
50345034
<g>

apps/docs/content/docs/en/tools/brightdata.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
77

88
<BlockInfoCard
99
type="brightdata"
10-
color="#0F4C81"
10+
color="#FFFFFF"
1111
/>
1212

1313
## Usage Instructions

apps/docs/content/docs/en/tools/databricks.mdx

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,61 @@ Execute a SQL statement against a Databricks SQL warehouse and return results in
6464
| `totalRows` | number | Total number of rows in the result |
6565
| `truncated` | boolean | Whether the result set was truncated due to row_limit or byte_limit |
6666

67+
### `databricks_get_statement`
68+
69+
Poll a SQL statement by its ID to retrieve status and results. Use this after Execute SQL when a query runs longer than the wait timeout.
70+
71+
#### Input
72+
73+
| Parameter | Type | Required | Description |
74+
| --------- | ---- | -------- | ----------- |
75+
| `host` | string | Yes | Databricks workspace host \(e.g., dbc-abc123.cloud.databricks.com\) |
76+
| `apiKey` | string | Yes | Databricks Personal Access Token |
77+
| `statementId` | string | Yes | The ID of the statement to fetch \(returned by Execute SQL\) |
78+
79+
#### Output
80+
81+
| Parameter | Type | Description |
82+
| --------- | ---- | ----------- |
83+
| `statementId` | string | Unique identifier for the statement |
84+
| `status` | string | Execution status \(SUCCEEDED, PENDING, RUNNING, FAILED, CANCELED, CLOSED\) |
85+
| `columns` | array | Column schema of the result set |
86+
|`name` | string | Column name |
87+
|`position` | number | Column position \(0-based\) |
88+
|`typeName` | string | Column type \(STRING, INT, LONG, DOUBLE, BOOLEAN, TIMESTAMP, DATE, DECIMAL, etc.\) |
89+
| `data` | array | Result rows as a 2D array of strings where each inner array is a row of column values |
90+
| `totalRows` | number | Total number of rows in the result |
91+
| `truncated` | boolean | Whether the result set was truncated due to row_limit or byte_limit |
92+
93+
### `databricks_list_warehouses`
94+
95+
List all SQL warehouses in a Databricks workspace including their size, state, and type. Use this to discover the warehouse ID needed for Execute SQL.
96+
97+
#### Input
98+
99+
| Parameter | Type | Required | Description |
100+
| --------- | ---- | -------- | ----------- |
101+
| `host` | string | Yes | Databricks workspace host \(e.g., dbc-abc123.cloud.databricks.com\) |
102+
| `apiKey` | string | Yes | Databricks Personal Access Token |
103+
104+
#### Output
105+
106+
| Parameter | Type | Description |
107+
| --------- | ---- | ----------- |
108+
| `warehouses` | array | List of SQL warehouses in the workspace |
109+
|`warehouseId` | string | Unique warehouse identifier |
110+
|`name` | string | Warehouse display name |
111+
|`clusterSize` | string | Warehouse size \(e.g., 2X-Small, Small, Medium, Large\) |
112+
|`state` | string | Current state \(STARTING, RUNNING, STOPPING, STOPPED, DELETING, DELETED\) |
113+
|`warehouseType` | string | Warehouse type \(CLASSIC, PRO\) |
114+
|`creatorName` | string | Email of the warehouse creator |
115+
|`autoStopMinutes` | number | Minutes of inactivity before auto-stop \(0 = disabled\) |
116+
|`numClusters` | number | Current number of running clusters |
117+
|`minNumClusters` | number | Minimum cluster count for scaling |
118+
|`maxNumClusters` | number | Maximum cluster count for scaling |
119+
|`numActiveSessions` | number | Number of active sessions |
120+
|`enableServerlessCompute` | boolean | Whether serverless compute is enabled |
121+
67122
### `databricks_list_jobs`
68123

69124
List all jobs in a Databricks workspace with optional filtering by name.
@@ -93,6 +148,34 @@ List all jobs in a Databricks workspace with optional filtering by name.
93148
| `hasMore` | boolean | Whether more jobs are available for pagination |
94149
| `nextPageToken` | string | Token for fetching the next page of results |
95150

151+
### `databricks_get_job`
152+
153+
Get the full definition and settings of a single Databricks job by its job ID.
154+
155+
#### Input
156+
157+
| Parameter | Type | Required | Description |
158+
| --------- | ---- | -------- | ----------- |
159+
| `host` | string | Yes | Databricks workspace host \(e.g., dbc-abc123.cloud.databricks.com\) |
160+
| `apiKey` | string | Yes | Databricks Personal Access Token |
161+
| `jobId` | number | Yes | The canonical identifier of the job to retrieve |
162+
163+
#### Output
164+
165+
| Parameter | Type | Description |
166+
| --------- | ---- | ----------- |
167+
| `jobId` | number | The job ID |
168+
| `name` | string | Job name |
169+
| `creatorUserName` | string | Email of the job creator |
170+
| `runAsUserName` | string | User the job runs as |
171+
| `createdTime` | number | Job creation timestamp \(epoch ms\) |
172+
| `format` | string | Job format \(SINGLE_TASK or MULTI_TASK\) |
173+
| `maxConcurrentRuns` | number | Maximum number of concurrent runs |
174+
| `timeoutSeconds` | number | Job-level timeout in seconds \(0 or null means no timeout\) |
175+
| `schedule` | object | Cron schedule configuration \(quartz_cron_expression, timezone_id, pause_status\) |
176+
| `tags` | object | Key-value tags applied to the job |
177+
| `tasks` | array | Task definitions for the job \(empty for single-task jobs\) |
178+
96179
### `databricks_run_job`
97180

98181
Trigger an existing Databricks job to run immediately with optional job-level or notebook parameters.
@@ -264,4 +347,37 @@ List all clusters in a Databricks workspace including their state, configuration
264347
|`autoterminationMinutes` | number | Minutes of inactivity before auto-termination \(0 = disabled\) |
265348
|`startTime` | number | Cluster start timestamp \(epoch ms\) |
266349

350+
### `databricks_get_cluster`
351+
352+
Get the state, configuration, and resource details of a single Databricks cluster by its cluster ID.
353+
354+
#### Input
355+
356+
| Parameter | Type | Required | Description |
357+
| --------- | ---- | -------- | ----------- |
358+
| `host` | string | Yes | Databricks workspace host \(e.g., dbc-abc123.cloud.databricks.com\) |
359+
| `apiKey` | string | Yes | Databricks Personal Access Token |
360+
| `clusterId` | string | Yes | The ID of the cluster to retrieve |
361+
362+
#### Output
363+
364+
| Parameter | Type | Description |
365+
| --------- | ---- | ----------- |
366+
| `cluster` | object | Cluster detail |
367+
|`clusterId` | string | Unique cluster identifier |
368+
|`clusterName` | string | Cluster display name |
369+
|`state` | string | Current state \(PENDING, RUNNING, RESTARTING, RESIZING, TERMINATING, TERMINATED, ERROR, UNKNOWN\) |
370+
|`stateMessage` | string | Human-readable state description |
371+
|`creatorUserName` | string | Email of the cluster creator |
372+
|`sparkVersion` | string | Spark runtime version \(e.g., 13.3.x-scala2.12\) |
373+
|`nodeTypeId` | string | Worker node type identifier |
374+
|`driverNodeTypeId` | string | Driver node type identifier |
375+
|`numWorkers` | number | Number of worker nodes \(for fixed-size clusters\) |
376+
|`autoscale` | object | Autoscaling configuration \(null for fixed-size clusters\) |
377+
|`minWorkers` | number | Minimum number of workers |
378+
|`maxWorkers` | number | Maximum number of workers |
379+
|`clusterSource` | string | Origin \(API, UI, JOB, MODELS, PIPELINE, PIPELINE_MAINTENANCE, SQL\) |
380+
|`autoterminationMinutes` | number | Minutes of inactivity before auto-termination \(0 = disabled\) |
381+
|`startTime` | number | Cluster start timestamp \(epoch ms\) |
382+
267383

apps/docs/content/docs/en/tools/dub.mdx

Lines changed: 133 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,6 @@ Retrieve a paginated list of short links for the authenticated workspace. Suppor
273273
| `search` | string | No | Search query matched against the short link slug and destination URL |
274274
| `tagIds` | string | No | Comma-separated tag IDs to filter by |
275275
| `showArchived` | boolean | No | Whether to include archived links \(defaults to false\) |
276-
| `sortBy` | string | No | Sort by field: createdAt, clicks, saleAmount, or lastClicked |
277-
| `sortOrder` | string | No | Sort order: asc or desc |
278276
| `page` | number | No | Page number \(default: 1\) |
279277
| `pageSize` | number | No | Number of links per page \(default: 100, max: 100\) |
280278

@@ -285,6 +283,86 @@ Retrieve a paginated list of short links for the authenticated workspace. Suppor
285283
| `links` | json | Array of link objects \(id, domain, key, url, shortLink, clicks, tags, createdAt\) |
286284
| `count` | number | Number of links returned |
287285

286+
### `dub_get_links_count`
287+
288+
Retrieve the number of short links for the authenticated workspace, optionally filtered and grouped by domain, tag, user, or folder.
289+
290+
#### Input
291+
292+
| Parameter | Type | Required | Description |
293+
| --------- | ---- | -------- | ----------- |
294+
| `apiKey` | string | Yes | Dub API key |
295+
| `domain` | string | No | Filter by domain |
296+
| `search` | string | No | Search query matched against the short link slug and destination URL |
297+
| `tagIds` | string | No | Comma-separated tag IDs to filter by |
298+
| `tagNames` | string | No | Comma-separated tag names to filter by \(case-insensitive\) |
299+
| `folderId` | string | No | Filter by folder ID |
300+
| `showArchived` | boolean | No | Whether to include archived links \(defaults to false\) |
301+
| `groupBy` | string | No | Group counts by: domain, tagId, userId, or folderId |
302+
303+
#### Output
304+
305+
| Parameter | Type | Description |
306+
| --------- | ---- | ----------- |
307+
| `count` | number | Total number of links matching the filters |
308+
| `groups` | json | Per-group counts when groupBy is set \(e.g. \[\{ domain, count \}\]\) |
309+
310+
### `dub_bulk_create_links`
311+
312+
Create up to 100 short links in a single request. Returns the created links alongside any per-link errors.
313+
314+
#### Input
315+
316+
| Parameter | Type | Required | Description |
317+
| --------- | ---- | -------- | ----------- |
318+
| `apiKey` | string | Yes | Dub API key |
319+
| `links` | json | Yes | JSON array of link objects to create. Each object requires a "url" and may include domain, key, tagIds, and other link fields \(max 100\). |
320+
321+
#### Output
322+
323+
| Parameter | Type | Description |
324+
| --------- | ---- | ----------- |
325+
| `created` | json | Array of successfully created link objects |
326+
| `errors` | json | Array of per-link errors \(\{ link, error, code \}\) for links that failed |
327+
| `count` | number | Number of links successfully created |
328+
329+
### `dub_bulk_update_links`
330+
331+
Apply the same set of field updates to up to 100 links at once, selected by link IDs or external IDs.
332+
333+
#### Input
334+
335+
| Parameter | Type | Required | Description |
336+
| --------- | ---- | -------- | ----------- |
337+
| `apiKey` | string | Yes | Dub API key |
338+
| `linkIds` | string | No | Comma-separated link IDs to update \(max 100, takes precedence over externalIds\) |
339+
| `externalIds` | string | No | Comma-separated external IDs to update \(max 100\) |
340+
| `data` | json | Yes | JSON object of fields to apply to every selected link \(e.g. \{ "archived": true, "tagIds": \["..."\] \}\) |
341+
342+
#### Output
343+
344+
| Parameter | Type | Description |
345+
| --------- | ---- | ----------- |
346+
| `updated` | json | Array of updated link objects |
347+
| `count` | number | Number of links updated |
348+
349+
### `dub_bulk_delete_links`
350+
351+
Delete up to 100 short links in a single request by their link IDs. Non-existing IDs are ignored.
352+
353+
#### Input
354+
355+
| Parameter | Type | Required | Description |
356+
| --------- | ---- | -------- | ----------- |
357+
| `apiKey` | string | Yes | Dub API key |
358+
| `linkIds` | string | Yes | Comma-separated link IDs to delete \(max 100\) |
359+
360+
#### Output
361+
362+
| Parameter | Type | Description |
363+
| --------- | ---- | ----------- |
364+
| `deletedCount` | number | Number of links that were deleted |
365+
288366
### `dub_get_analytics`
289367

290368
Retrieve analytics for links including clicks, leads, and sales. Supports filtering by link, time range, and grouping by various dimensions.
@@ -315,4 +393,57 @@ Retrieve analytics for links including clicks, leads, and sales. Supports filter
315393
| `saleAmount` | number | Total sale amount in cents |
316394
| `data` | json | Grouped analytics data \(timeseries, countries, devices, etc.\) |
317395

396+
### `dub_get_events`
397+
398+
Retrieve a paginated stream of individual click, lead, and sale events for links, with filtering by link, time range, and location.
399+
400+
#### Input
401+
402+
| Parameter | Type | Required | Description |
403+
| --------- | ---- | -------- | ----------- |
404+
| `apiKey` | string | Yes | Dub API key |
405+
| `event` | string | No | Event type: clicks \(default\), leads, or sales |
406+
| `linkId` | string | No | Filter by link ID |
407+
| `externalId` | string | No | Filter by external ID \(prefix with ext_\) |
408+
| `domain` | string | No | Filter by domain |
409+
| `interval` | string | No | Time interval: 24h \(default\), 7d, 30d, 90d, 1y, mtd, qtd, ytd, or all |
410+
| `start` | string | No | Start date/time in ISO 8601 format \(overrides interval\) |
411+
| `end` | string | No | End date/time in ISO 8601 format \(defaults to now\) |
412+
| `country` | string | No | Filter by country \(ISO 3166-1 alpha-2 code\) |
413+
| `timezone` | string | No | IANA timezone for event timestamps \(defaults to UTC\) |
414+
| `page` | number | No | Page number \(default: 1\) |
415+
| `limit` | number | No | Number of events per page \(default: 100, max: 1000\) |
416+
| `sortOrder` | string | No | Sort order: desc \(default\) or asc |
417+
418+
#### Output
419+
420+
| Parameter | Type | Description |
421+
| --------- | ---- | ----------- |
422+
| `events` | json | Array of event objects \(event, timestamp, click, link, and customer/sale data when applicable\) |
423+
| `count` | number | Number of events returned |
424+
425+
### `dub_get_qr_code`
426+
427+
Generate a customizable QR code (PNG) for a short link, with control over size, error correction, colors, and margin.
428+
429+
#### Input
430+
431+
| Parameter | Type | Required | Description |
432+
| --------- | ---- | -------- | ----------- |
433+
| `apiKey` | string | Yes | Dub API key |
434+
| `url` | string | Yes | The short link URL to encode in the QR code |
435+
| `size` | number | No | QR code size in pixels \(default: 600\) |
436+
| `level` | string | No | Error correction level: L \(default\), M, Q, or H |
437+
| `fgColor` | string | No | Foreground color in hex \(default: #000000\) |
438+
| `bgColor` | string | No | Background color in hex \(default: #FFFFFF\) |
439+
| `hideLogo` | boolean | No | Whether to hide the logo in the center of the QR code \(default: false\) |
440+
| `margin` | number | No | Margin \(quiet zone\) around the QR code \(default: 2\) |
441+
442+
#### Output
443+
444+
| Parameter | Type | Description |
445+
| --------- | ---- | ----------- |
446+
| `file` | file | Generated QR code image stored in execution files |
447+
| `content` | string | Base64-encoded PNG image data |
448+
318449

apps/docs/content/docs/en/tools/duckduckgo.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,14 @@ Search the web using DuckDuckGo Instant Answers API. Returns instant answers, ab
5454
| `abstractText` | string | Plain text version of the abstract |
5555
| `abstractSource` | string | The source of the abstract \(e.g., Wikipedia\) |
5656
| `abstractURL` | string | URL to the source of the abstract |
57+
| `definition` | string | Dictionary-style definition if available |
58+
| `definitionSource` | string | The source of the definition |
59+
| `definitionURL` | string | URL to the source of the definition |
5760
| `image` | string | URL to an image related to the topic |
5861
| `answer` | string | Direct answer if available \(e.g., for calculations\) |
5962
| `answerType` | string | Type of the answer \(e.g., calc, ip, etc.\) |
6063
| `type` | string | Response type: A \(article\), D \(disambiguation\), C \(category\), N \(name\), E \(exclusive\) |
64+
| `redirect` | string | !bang redirect URL, populated only for bang queries |
6165
| `relatedTopics` | array | Array of related topics with URLs and descriptions |
6266
|`FirstURL` | string | URL to the related topic |
6367
|`Text` | string | Description of the related topic |

0 commit comments

Comments
 (0)