mirror of
https://github.com/simstudioai/sim.git
synced 2026-09-24 15:45:35 +08:00
feat(integrations): extend ElevenLabs, Google Drive, Firecrawl, Pinecone, Resend, and S3 tool depth (#5270)
* feat(firecrawl): add crawl status/cancel, batch scrape + status, extract status, credit usage tools * feat(resend): add audiences, broadcasts, and cancel-email tools * feat(pinecone): add delete/update vectors, index, and stats tools * feat(google-drive): add revisions, comments, and export tools * feat(elevenlabs): add voices, settings, models, user, sound-effects, speech-to-speech, audio-isolation tools * feat(s3): add bucket CRUD, head-object, presigned-url, and batch-delete tools * chore(api-validation): bump route baseline to 873 for wave-3 internal tool routes (s3, elevenlabs, google_drive export) * docs(integrations): regenerate docs + catalog for wave-3 tools * fix(integrations): audit fixes for wave-3 - pinecone: read camelCase vectorType/deletionProtection (with snake_case fallback) so list_indexes/describe_index populate them; make describe_index_stats casing defensive - google-drive: URL-encode fileId in the export route - remove extraneous inline/section-divider comments across new blocks/tools; convert type docs to TSDoc * fix(integrations): address review — elevenlabs settings bleed, batch-scrape job-id guard, s3 head-object existence - elevenlabs: select stability/similarityBoost by operation so a stale edit-settings value can't bleed into a TTS call - firecrawl: fail fast with a clear error when batch scrape returns no job id (avoids a misleading polling timeout) - s3: head_object on a missing key now returns exists:false instead of a generic failure * fix(s3): allow exists:false in head-object response contract (schema must match the missing-object output) * fix(pinecone): guard JSON.parse of ids/filter/values/sparseValues/setMetadata Malformed JSON-string input now throws a clear '<field> must be valid JSON' error via a shared parseJsonParam helper instead of crashing the request body builder. * fix(pinecone): enforce mutual exclusivity of ids/deleteAll/filter in delete_vectors Pinecone treats these delete selectors as mutually exclusive; the tool now requires exactly one and throws a clear error otherwise, instead of sending a conflicting body. * fix(integrations): I/O fidelity vs API docs (wave-3 audit) - pinecone: normalize describe_index_stats per-namespace vector_count -> vectorCount - firecrawl: remove phantom 'sources' from extract_status, add real creditsUsed/tokensUsed; expose batch_scrape maxConcurrency/ignoreInvalidURLs - google-drive: drop undocumented supportsAllDrives from the files.export URL - elevenlabs: add next_page_token input to list_voices (fixes pagination dead-end) - resend: surface segment_id on get_broadcast; declare replyTo + segment_id in block outputs
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: ElevenLabs
|
||||
description: Convert text to speech with ElevenLabs
|
||||
description: Generate and transform audio with ElevenLabs
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
@@ -27,7 +27,7 @@ In Sim, the ElevenLabs integration enables your agents to convert text to lifeli
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate ElevenLabs into the workflow. Can convert text to speech.
|
||||
Integrate ElevenLabs into the workflow. Convert text to speech, generate sound effects, transform voices, isolate audio, and manage voices, models, and account settings.
|
||||
|
||||
|
||||
|
||||
@@ -55,4 +55,214 @@ Convert text to speech using ElevenLabs voices
|
||||
| `audioUrl` | string | The URL of the generated audio |
|
||||
| `audioFile` | file | The generated audio file |
|
||||
|
||||
### `elevenlabs_sound_effects`
|
||||
|
||||
Generate a sound effect from a text prompt using ElevenLabs
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `text` | string | Yes | The prompt describing the sound effect \(e.g., "thunder rumbling in the distance"\) |
|
||||
| `modelId` | string | No | The model to use \(defaults to eleven_text_to_sound_v2\) |
|
||||
| `durationSeconds` | number | No | Length of the sound in seconds \(0.5-30\). Omit to auto-determine |
|
||||
| `promptInfluence` | number | No | How closely to follow the prompt from 0.0 to 1.0 \(default 0.3\) |
|
||||
| `loop` | boolean | No | Whether to generate a seamlessly looping sound effect \(default false\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `audioUrl` | string | URL of the generated sound effect |
|
||||
| `audioFile` | file | The generated sound effect file |
|
||||
|
||||
### `elevenlabs_speech_to_speech`
|
||||
|
||||
Convert audio into a chosen ElevenLabs voice while preserving content and emotion
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `voiceId` | string | Yes | The ID of the target voice to convert the audio into |
|
||||
| `audioFile` | file | Yes | The source audio file to convert \(e.g., MP3, WAV, M4A\) |
|
||||
| `modelId` | string | No | The model to use \(defaults to eleven_english_sts_v2\) |
|
||||
| `removeBackgroundNoise` | boolean | No | Whether to isolate the voice and remove background noise \(default false\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `audioUrl` | string | URL of the converted audio |
|
||||
| `audioFile` | file | The converted audio file |
|
||||
|
||||
### `elevenlabs_audio_isolation`
|
||||
|
||||
Remove background noise from an audio file, isolating the speech using ElevenLabs
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `audioFile` | file | Yes | The audio file to isolate speech from \(e.g., MP3, WAV, M4A\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `audioUrl` | string | URL of the isolated audio |
|
||||
| `audioFile` | file | The isolated audio file |
|
||||
|
||||
### `elevenlabs_list_voices`
|
||||
|
||||
List the voices available in your ElevenLabs account
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `search` | string | No | Search term to filter voices by name, description, labels, or category |
|
||||
| `category` | string | No | Filter by category: premade, cloned, generated, or professional |
|
||||
| `pageSize` | number | No | Number of voices to return \(1-100, default 10\) |
|
||||
| `nextPageToken` | string | No | Page token from a previous response to fetch the next page of voices |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `voices` | array | List of voices |
|
||||
| ↳ `voiceId` | string | Unique voice identifier |
|
||||
| ↳ `name` | string | Voice name |
|
||||
| ↳ `category` | string | Voice category |
|
||||
| ↳ `description` | string | Voice description |
|
||||
| ↳ `labels` | json | Voice labels \(accent, gender, age, use case\) |
|
||||
| ↳ `previewUrl` | string | URL to a preview audio sample |
|
||||
| ↳ `settings` | json | Default voice settings |
|
||||
| `totalCount` | number | Total number of matching voices |
|
||||
| `hasMore` | boolean | Whether more voices are available |
|
||||
| `nextPageToken` | string | Token to fetch the next page |
|
||||
|
||||
### `elevenlabs_get_voice`
|
||||
|
||||
Get metadata and settings for a specific ElevenLabs voice
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `voiceId` | string | Yes | The ID of the voice to retrieve \(e.g., "21m00Tcm4TlvDq8ikWAM"\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `voiceId` | string | Unique voice identifier |
|
||||
| `name` | string | Voice name |
|
||||
| `category` | string | Voice category |
|
||||
| `description` | string | Voice description |
|
||||
| `labels` | json | Voice labels \(accent, gender, age, use case\) |
|
||||
| `previewUrl` | string | URL to a preview audio sample |
|
||||
| `settings` | json | Default voice settings |
|
||||
| `availableForTiers` | array | Subscription tiers the voice is available on |
|
||||
| `highQualityBaseModelIds` | array | Model IDs that support high-quality output for this voice |
|
||||
| `isOwner` | boolean | Whether the current user owns this voice |
|
||||
|
||||
### `elevenlabs_get_voice_settings`
|
||||
|
||||
Get the configured settings for a specific ElevenLabs voice
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `voiceId` | string | Yes | The ID of the voice whose settings to retrieve |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `stability` | number | Voice stability \(0.0-1.0\) |
|
||||
| `similarityBoost` | number | Similarity boost \(0.0-1.0\) |
|
||||
| `style` | number | Style exaggeration \(0.0-1.0\) |
|
||||
| `useSpeakerBoost` | boolean | Whether speaker boost is enabled |
|
||||
| `speed` | number | Speech speed \(1.0 = normal\) |
|
||||
|
||||
### `elevenlabs_edit_voice_settings`
|
||||
|
||||
Update the settings for a specific ElevenLabs voice
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
| `voiceId` | string | Yes | The ID of the voice to update |
|
||||
| `stability` | number | No | Voice stability from 0.0 to 1.0 \(default 0.5\) |
|
||||
| `similarityBoost` | number | No | Similarity boost from 0.0 to 1.0 \(default 0.75\) |
|
||||
| `style` | number | No | Style exaggeration from 0.0 to 1.0 \(default 0\) |
|
||||
| `useSpeakerBoost` | boolean | No | Whether to enhance similarity to the original speaker \(default true\) |
|
||||
| `speed` | number | No | Speech speed where 1.0 is normal \(default 1.0\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `status` | string | Request outcome \("ok" on success\) |
|
||||
|
||||
### `elevenlabs_list_models`
|
||||
|
||||
List the models available in ElevenLabs
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `models` | array | List of available models |
|
||||
| ↳ `modelId` | string | Unique model identifier |
|
||||
| ↳ `name` | string | Model name |
|
||||
| ↳ `description` | string | Model description |
|
||||
| ↳ `canDoTextToSpeech` | boolean | Supports text-to-speech |
|
||||
| ↳ `canDoVoiceConversion` | boolean | Supports voice conversion |
|
||||
| ↳ `canUseStyle` | boolean | Supports the style parameter |
|
||||
| ↳ `canUseSpeakerBoost` | boolean | Supports speaker boost |
|
||||
| ↳ `languages` | array | Languages supported by the model |
|
||||
| ↳ `languageId` | string | Language code |
|
||||
| ↳ `name` | string | Language name |
|
||||
|
||||
### `elevenlabs_get_user`
|
||||
|
||||
Get account and subscription information for the ElevenLabs user
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Your ElevenLabs API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `userId` | string | Unique user identifier |
|
||||
| `isNewUser` | boolean | Whether the user is new |
|
||||
| `subscription` | object | Subscription and usage details |
|
||||
| ↳ `tier` | string | Subscription tier |
|
||||
| ↳ `characterCount` | number | Characters used this period |
|
||||
| ↳ `characterLimit` | number | Character quota for this period |
|
||||
| ↳ `canExtendCharacterLimit` | boolean | Whether the character limit can be extended |
|
||||
| ↳ `status` | string | Subscription status |
|
||||
| ↳ `nextCharacterCountResetUnix` | number | Unix timestamp when the character count resets |
|
||||
|
||||
|
||||
|
||||
@@ -78,6 +78,81 @@ Extract structured content from web pages with comprehensive metadata support. C
|
||||
| ↳ `ogSiteName` | string | Open Graph site name |
|
||||
| ↳ `error` | string | Error message if scrape failed |
|
||||
|
||||
### `firecrawl_batch_scrape`
|
||||
|
||||
Scrape multiple URLs in a single batch job and retrieve structured content from each page.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `urls` | json | Yes | Array of URLs to scrape \(e.g., \["https://example.com/page1", "https://example.com/page2"\]\) |
|
||||
| `formats` | json | No | Output formats for scraped content \(e.g., \["markdown"\], \["markdown", "html"\]\) |
|
||||
| `onlyMainContent` | boolean | No | Extract only main content from pages |
|
||||
| `maxConcurrency` | number | No | Maximum number of concurrent scrapes |
|
||||
| `ignoreInvalidURLs` | boolean | No | Skip invalid URLs instead of failing the batch \(default: true\) |
|
||||
| `scrapeOptions` | json | No | Advanced scraping configuration options |
|
||||
| `zeroDataRetention` | boolean | No | Enable zero data retention |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
| `pricing` | custom | No | No description |
|
||||
| `rateLimit` | string | No | No description |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `pages` | array | Array of scraped pages with their content and metadata |
|
||||
| ↳ `markdown` | string | Page content in markdown format |
|
||||
| ↳ `html` | string | Processed HTML content of the page |
|
||||
| ↳ `rawHtml` | string | Unprocessed raw HTML content |
|
||||
| ↳ `links` | array | Array of links found on the page |
|
||||
| ↳ `screenshot` | string | Screenshot URL \(expires after 24 hours\) |
|
||||
| ↳ `metadata` | object | Page metadata from crawl operation |
|
||||
| ↳ `title` | string | Page title |
|
||||
| ↳ `description` | string | Page meta description |
|
||||
| ↳ `language` | string | Page language code |
|
||||
| ↳ `sourceURL` | string | Original source URL |
|
||||
| ↳ `statusCode` | number | HTTP status code |
|
||||
| ↳ `ogLocaleAlternate` | array | Alternate locale versions |
|
||||
| `total` | number | Total number of pages attempted |
|
||||
| `completed` | number | Number of pages successfully scraped |
|
||||
| `invalidURLs` | array | URLs that were skipped because they were invalid |
|
||||
|
||||
### `firecrawl_batch_scrape_status`
|
||||
|
||||
Check the status and retrieve results of a previously started Firecrawl batch scrape job by its job ID.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `jobId` | string | Yes | The ID of the batch scrape job to check |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `status` | string | Current batch scrape status \(scraping, completed, or failed\) |
|
||||
| `total` | number | Total number of pages attempted |
|
||||
| `completed` | number | Number of pages successfully scraped |
|
||||
| `creditsUsed` | number | Credits consumed by the batch scrape |
|
||||
| `expiresAt` | string | ISO timestamp when the batch scrape results expire |
|
||||
| `next` | string | URL to retrieve the next page of results when present |
|
||||
| `pages` | array | Array of scraped pages with their content and metadata |
|
||||
| ↳ `markdown` | string | Page content in markdown format |
|
||||
| ↳ `html` | string | Processed HTML content of the page |
|
||||
| ↳ `rawHtml` | string | Unprocessed raw HTML content |
|
||||
| ↳ `links` | array | Array of links found on the page |
|
||||
| ↳ `screenshot` | string | Screenshot URL \(expires after 24 hours\) |
|
||||
| ↳ `metadata` | object | Page metadata from crawl operation |
|
||||
| ↳ `title` | string | Page title |
|
||||
| ↳ `description` | string | Page meta description |
|
||||
| ↳ `language` | string | Page language code |
|
||||
| ↳ `sourceURL` | string | Original source URL |
|
||||
| ↳ `statusCode` | number | HTTP status code |
|
||||
| ↳ `ogLocaleAlternate` | array | Alternate locale versions |
|
||||
|
||||
### `firecrawl_search`
|
||||
|
||||
Search for information on the web using Firecrawl
|
||||
@@ -149,6 +224,58 @@ Crawl entire websites and extract structured content from all accessible pages
|
||||
| ↳ `ogLocaleAlternate` | array | Alternate locale versions |
|
||||
| `total` | number | Total number of pages found during crawl |
|
||||
|
||||
### `firecrawl_crawl_status`
|
||||
|
||||
Check the status and retrieve results of a previously started Firecrawl crawl job by its job ID.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `jobId` | string | Yes | The ID of the crawl job to check |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `status` | string | Current crawl status \(scraping, completed, or failed\) |
|
||||
| `total` | number | Total number of pages attempted |
|
||||
| `completed` | number | Number of pages successfully crawled |
|
||||
| `creditsUsed` | number | Credits consumed by the crawl |
|
||||
| `expiresAt` | string | ISO timestamp when the crawl results expire |
|
||||
| `next` | string | URL to retrieve the next page of results when present |
|
||||
| `pages` | array | Array of crawled pages with their content and metadata |
|
||||
| ↳ `markdown` | string | Page content in markdown format |
|
||||
| ↳ `html` | string | Processed HTML content of the page |
|
||||
| ↳ `rawHtml` | string | Unprocessed raw HTML content |
|
||||
| ↳ `links` | array | Array of links found on the page |
|
||||
| ↳ `screenshot` | string | Screenshot URL \(expires after 24 hours\) |
|
||||
| ↳ `metadata` | object | Page metadata from crawl operation |
|
||||
| ↳ `title` | string | Page title |
|
||||
| ↳ `description` | string | Page meta description |
|
||||
| ↳ `language` | string | Page language code |
|
||||
| ↳ `sourceURL` | string | Original source URL |
|
||||
| ↳ `statusCode` | number | HTTP status code |
|
||||
| ↳ `ogLocaleAlternate` | array | Alternate locale versions |
|
||||
|
||||
### `firecrawl_cancel_crawl`
|
||||
|
||||
Cancel an in-progress Firecrawl crawl job by its job ID.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `jobId` | string | Yes | The ID of the crawl job to cancel |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `status` | string | Status of the cancelled crawl job \(e.g., "cancelled"\) |
|
||||
|
||||
### `firecrawl_map`
|
||||
|
||||
Get a complete list of URLs from any website quickly and reliably. Useful for discovering all pages on a site without crawling them.
|
||||
@@ -204,6 +331,27 @@ Extract structured data from entire webpages using natural language prompts and
|
||||
| `success` | boolean | Whether the extraction operation was successful |
|
||||
| `data` | object | Extracted structured data according to the schema or prompt |
|
||||
|
||||
### `firecrawl_extract_status`
|
||||
|
||||
Check the status and retrieve results of a previously started Firecrawl extract job by its job ID.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `jobId` | string | Yes | The ID of the extract job to check |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `status` | string | Current extract status \(processing, completed, failed, or cancelled\) |
|
||||
| `data` | json | Extracted structured data according to the schema or prompt |
|
||||
| `expiresAt` | string | ISO timestamp when the extract results expire |
|
||||
| `creditsUsed` | number | Number of credits used by the extract job |
|
||||
| `tokensUsed` | number | Number of tokens used by the extract job |
|
||||
|
||||
### `firecrawl_agent`
|
||||
|
||||
Autonomous web data extraction agent. Searches and gathers information based on natural language prompts without requiring specific URLs.
|
||||
@@ -274,4 +422,23 @@ Parse uploaded documents (PDF, DOCX, HTML, etc.) into clean markdown using Firec
|
||||
| ↳ `error` | string | Error message if parse failed |
|
||||
| `warning` | string | Warning message from the parse operation |
|
||||
|
||||
### `firecrawl_credit_usage`
|
||||
|
||||
Retrieve the remaining and allocated Firecrawl credits for the team.
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Firecrawl API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `remainingCredits` | number | Number of credits remaining for the team |
|
||||
| `planCredits` | number | Credits allocated in the current plan |
|
||||
| `billingPeriodStart` | string | Start of the current billing period |
|
||||
| `billingPeriodEnd` | string | End of the current billing period |
|
||||
|
||||
|
||||
|
||||
@@ -694,6 +694,163 @@ List all permissions (who has access) for a file in Google Drive
|
||||
| ↳ `permissionDetails` | json | Details about inherited permissions |
|
||||
| `nextPageToken` | string | Token for fetching the next page of permissions |
|
||||
|
||||
### `google_drive_export`
|
||||
|
||||
Export a Google Workspace file (Docs, Sheets, Slides, Drawings) to a chosen format such as PDF, DOCX, XLSX, or CSV
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `fileId` | string | Yes | The ID of the Google Workspace file to export |
|
||||
| `mimeType` | string | Yes | The target MIME type to export to \(e.g. application/pdf, text/csv\) |
|
||||
| `fileName` | string | No | Optional filename override for the exported file |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `file` | file | Exported file stored in execution files |
|
||||
| `exportedMimeType` | string | The MIME type the file was exported to |
|
||||
|
||||
### `google_drive_list_revisions`
|
||||
|
||||
List the revision history of a file in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `fileId` | string | Yes | The ID of the file to list revisions for |
|
||||
| `pageSize` | number | No | Maximum number of revisions to return \(1-1000, default 200\) |
|
||||
| `pageToken` | string | No | The page token to use for pagination |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `revisions` | array | List of revisions for the file \(most recent last\) |
|
||||
| ↳ `id` | string | Revision ID |
|
||||
| ↳ `mimeType` | string | MIME type of the revision |
|
||||
| ↳ `modifiedTime` | string | When this revision was created |
|
||||
| ↳ `keepForever` | boolean | Whether this revision is preserved forever |
|
||||
| ↳ `published` | boolean | Whether this revision is published |
|
||||
| ↳ `publishedLink` | string | Public link to the published revision |
|
||||
| ↳ `lastModifyingUser` | json | User who created this revision |
|
||||
| ↳ `originalFilename` | string | Original filename for binary revisions |
|
||||
| ↳ `md5Checksum` | string | MD5 checksum for binary revisions |
|
||||
| ↳ `size` | string | Size of the revision in bytes |
|
||||
| ↳ `exportLinks` | json | Export format links for the revision |
|
||||
| `nextPageToken` | string | Token for fetching the next page of revisions |
|
||||
|
||||
### `google_drive_get_revision`
|
||||
|
||||
Get metadata for a specific revision of a file in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `fileId` | string | Yes | The ID of the file the revision belongs to |
|
||||
| `revisionId` | string | Yes | The ID of the revision to retrieve |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `revision` | json | The revision metadata |
|
||||
| ↳ `id` | string | Revision ID |
|
||||
| ↳ `mimeType` | string | MIME type of the revision |
|
||||
| ↳ `modifiedTime` | string | When this revision was created |
|
||||
| ↳ `keepForever` | boolean | Whether this revision is preserved forever |
|
||||
| ↳ `published` | boolean | Whether this revision is published |
|
||||
| ↳ `publishedLink` | string | Public link to the published revision |
|
||||
| ↳ `lastModifyingUser` | json | User who created this revision |
|
||||
| ↳ `originalFilename` | string | Original filename for binary revisions |
|
||||
| ↳ `md5Checksum` | string | MD5 checksum for binary revisions |
|
||||
| ↳ `size` | string | Size of the revision in bytes |
|
||||
| ↳ `exportLinks` | json | Export format links for the revision |
|
||||
|
||||
### `google_drive_list_comments`
|
||||
|
||||
List comments on a file in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `fileId` | string | Yes | The ID of the file to list comments for |
|
||||
| `includeDeleted` | boolean | No | Whether to include deleted comments \(their content is stripped\) |
|
||||
| `pageSize` | number | No | Maximum number of comments to return \(1-100, default 20\) |
|
||||
| `startModifiedTime` | string | No | Only return comments modified after this RFC 3339 timestamp |
|
||||
| `pageToken` | string | No | The page token to use for pagination |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `comments` | array | List of comments on the file |
|
||||
| ↳ `id` | string | Comment ID |
|
||||
| ↳ `content` | string | Plain text content of the comment |
|
||||
| ↳ `htmlContent` | string | HTML-formatted content of the comment |
|
||||
| ↳ `author` | json | User who authored the comment |
|
||||
| ↳ `createdTime` | string | When the comment was created |
|
||||
| ↳ `modifiedTime` | string | When the comment was last modified |
|
||||
| ↳ `resolved` | boolean | Whether the comment has been resolved |
|
||||
| ↳ `deleted` | boolean | Whether the comment has been deleted |
|
||||
| ↳ `anchor` | string | Region of the document the comment refers to |
|
||||
| ↳ `quotedFileContent` | json | The file content the comment quotes |
|
||||
| ↳ `replies` | json | Threaded replies to the comment |
|
||||
| `nextPageToken` | string | Token for fetching the next page of comments |
|
||||
|
||||
### `google_drive_create_comment`
|
||||
|
||||
Add a comment to a file in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `fileId` | string | Yes | The ID of the file to comment on |
|
||||
| `content` | string | Yes | The plain text content of the comment |
|
||||
| `anchor` | string | No | A region of the document the comment refers to \(JSON anchor string\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `comment` | json | The created comment |
|
||||
| ↳ `id` | string | Comment ID |
|
||||
| ↳ `content` | string | Plain text content of the comment |
|
||||
| ↳ `htmlContent` | string | HTML-formatted content of the comment |
|
||||
| ↳ `author` | json | User who authored the comment |
|
||||
| ↳ `createdTime` | string | When the comment was created |
|
||||
| ↳ `modifiedTime` | string | When the comment was last modified |
|
||||
| ↳ `resolved` | boolean | Whether the comment has been resolved |
|
||||
| ↳ `deleted` | boolean | Whether the comment has been deleted |
|
||||
| ↳ `anchor` | string | Region of the document the comment refers to |
|
||||
| ↳ `quotedFileContent` | json | The file content the comment quotes |
|
||||
| ↳ `replies` | json | Threaded replies to the comment |
|
||||
|
||||
### `google_drive_delete_comment`
|
||||
|
||||
Delete a comment from a file in Google Drive
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `fileId` | string | Yes | The ID of the file the comment belongs to |
|
||||
| `commentId` | string | Yes | The ID of the comment to delete |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `deleted` | boolean | Whether the comment was successfully deleted |
|
||||
| `fileId` | string | The ID of the file |
|
||||
| `commentId` | string | The ID of the deleted comment |
|
||||
|
||||
### `google_drive_get_about`
|
||||
|
||||
Get information about the user and their Google Drive (storage quota, capabilities)
|
||||
|
||||
@@ -29,7 +29,7 @@ In Sim, the Pinecone integration enables your agents to leverage vector search c
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Pinecone into the workflow. Can generate embeddings, upsert text, search with text, fetch vectors, and search with vectors.
|
||||
Integrate Pinecone into the workflow. Generate embeddings, upsert and update text records, delete vectors, search with text or vectors, fetch and list vectors, inspect index statistics, and manage indexes.
|
||||
|
||||
|
||||
|
||||
@@ -75,6 +75,49 @@ Insert or update text records in a Pinecone index
|
||||
| --------- | ---- | ----------- |
|
||||
| `statusText` | string | Status of the upsert operation |
|
||||
|
||||
### `pinecone_update_vector`
|
||||
|
||||
Update the values, sparse values, or metadata of a vector in a Pinecone namespace
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL \(e.g., "https://my-index-abc123.svc.pinecone.io"\) |
|
||||
| `id` | string | Yes | Unique ID of the vector to update |
|
||||
| `namespace` | string | No | Namespace containing the vector \(e.g., "documents", "embeddings"\) |
|
||||
| `values` | array | No | New dense vector values to overwrite the existing values |
|
||||
| `sparseValues` | object | No | New sparse vector values with indices and values arrays |
|
||||
| `setMetadata` | object | No | Metadata key-value pairs to add or overwrite on the vector |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `statusText` | string | Status of the update operation |
|
||||
|
||||
### `pinecone_delete_vectors`
|
||||
|
||||
Delete vectors from a Pinecone namespace by IDs, by metadata filter, or delete all
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL \(e.g., "https://my-index-abc123.svc.pinecone.io"\) |
|
||||
| `namespace` | string | No | Namespace to delete vectors from \(e.g., "documents", "embeddings"\) |
|
||||
| `ids` | array | No | Vector IDs to delete \(1-1000 items\). Mutually exclusive with deleteAll and filter |
|
||||
| `deleteAll` | boolean | No | Delete all vectors in the namespace. Mutually exclusive with ids and filter |
|
||||
| `filter` | object | No | Metadata filter selecting vectors to delete \(e.g., \{"category": \{"$eq": "product"\}\}\). Mutually exclusive with ids and deleteAll |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `statusText` | string | Status of the delete operation |
|
||||
|
||||
### `pinecone_search_text`
|
||||
|
||||
Search for similar text in a Pinecone index
|
||||
@@ -157,4 +200,102 @@ Fetch vectors by ID from a Pinecone index
|
||||
| `usage` | object | Usage statistics including total read units |
|
||||
| ↳ `total_tokens` | number | Read units consumed |
|
||||
|
||||
### `pinecone_list_vector_ids`
|
||||
|
||||
List vector IDs in a Pinecone namespace by prefix (serverless indexes only)
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL \(e.g., "https://my-index-abc123.svc.pinecone.io"\) |
|
||||
| `namespace` | string | Yes | Namespace to list vector IDs from \(e.g., "documents", "embeddings"\) |
|
||||
| `prefix` | string | No | Filter vector IDs by a common prefix \(e.g., "doc1#"\) |
|
||||
| `limit` | number | No | Maximum number of IDs to return per page \(default 100\) |
|
||||
| `paginationToken` | string | No | Pagination token from a previous response to fetch the next page |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `vectorIds` | array | Vector IDs in the namespace |
|
||||
| `pagination` | object | Pagination info with a next token when more results exist |
|
||||
| ↳ `next` | string | Token to fetch the next page |
|
||||
| `namespace` | string | Namespace the IDs were listed from |
|
||||
| `usage` | object | Usage statistics including read units |
|
||||
| ↳ `total_tokens` | number | Read units consumed |
|
||||
|
||||
### `pinecone_describe_index_stats`
|
||||
|
||||
Get statistics about a Pinecone index, including per-namespace vector counts
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `indexHost` | string | Yes | Full Pinecone index host URL \(e.g., "https://my-index-abc123.svc.pinecone.io"\) |
|
||||
| `filter` | object | No | Metadata filter to limit which vectors are counted \(pod-based indexes only, e.g., \{"category": \{"$eq": "product"\}\}\) |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `namespaces` | json | Map of namespace name to its summary including vectorCount |
|
||||
| `dimension` | number | Dimensionality of the indexed vectors |
|
||||
| `indexFullness` | number | Fullness of the index \(pod-based indexes only\) |
|
||||
| `totalVectorCount` | number | Total number of vectors across all namespaces |
|
||||
|
||||
### `pinecone_list_indexes`
|
||||
|
||||
List all Pinecone indexes in the project
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `indexes` | array | List of indexes with name, dimension, metric, host, spec, and status |
|
||||
| ↳ `name` | string | Index name |
|
||||
| ↳ `dimension` | number | Vector dimensionality |
|
||||
| ↳ `metric` | string | Distance metric \(cosine, euclidean, dotproduct\) |
|
||||
| ↳ `host` | string | Index host URL for data-plane operations |
|
||||
| ↳ `vectorType` | string | Vector type \(dense or sparse\) |
|
||||
| ↳ `deletionProtection` | string | Deletion protection \(enabled or disabled\) |
|
||||
| ↳ `tags` | object | Custom user tags on the index |
|
||||
| ↳ `spec` | object | Index spec \(serverless or pod configuration\) |
|
||||
| ↳ `status` | object | Index status with ready and state |
|
||||
|
||||
### `pinecone_describe_index`
|
||||
|
||||
Get the configuration and status of a Pinecone index by name
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `indexName` | string | Yes | Name of the index to describe |
|
||||
| `apiKey` | string | Yes | Pinecone API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `index` | object | Index configuration and status |
|
||||
| ↳ `name` | string | Index name |
|
||||
| ↳ `dimension` | number | Vector dimensionality |
|
||||
| ↳ `metric` | string | Distance metric \(cosine, euclidean, dotproduct\) |
|
||||
| ↳ `host` | string | Index host URL for data-plane operations |
|
||||
| ↳ `vectorType` | string | Vector type \(dense or sparse\) |
|
||||
| ↳ `deletionProtection` | string | Deletion protection \(enabled or disabled\) |
|
||||
| ↳ `tags` | object | Custom user tags on the index |
|
||||
| ↳ `spec` | object | Index spec \(serverless or pod configuration\) |
|
||||
| ↳ `status` | object | Index status with ready and state |
|
||||
|
||||
|
||||
|
||||
@@ -94,6 +94,23 @@ Retrieve details of a previously sent email by its ID
|
||||
| ↳ `name` | string | Tag name |
|
||||
| ↳ `value` | string | Tag value |
|
||||
|
||||
### `resend_cancel_email`
|
||||
|
||||
Cancel a scheduled email before it is sent
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `cancelEmailId` | string | Yes | The ID of the scheduled email to cancel |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Canceled email ID |
|
||||
|
||||
### `resend_create_contact`
|
||||
|
||||
Create a new contact in Resend
|
||||
@@ -197,6 +214,151 @@ Delete a contact from Resend by ID or email
|
||||
| `id` | string | Deleted contact ID |
|
||||
| `deleted` | boolean | Whether the contact was successfully deleted |
|
||||
|
||||
### `resend_create_audience`
|
||||
|
||||
Create a new audience in Resend
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `audienceName` | string | Yes | The name of the audience to create |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Created audience ID |
|
||||
| `name` | string | Audience name |
|
||||
|
||||
### `resend_get_audience`
|
||||
|
||||
Retrieve details of an audience by ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `audienceId` | string | Yes | The ID of the audience to retrieve |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Audience ID |
|
||||
| `name` | string | Audience name |
|
||||
| `createdAt` | string | Audience creation timestamp |
|
||||
|
||||
### `resend_list_audiences`
|
||||
|
||||
List all audiences in Resend
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `audiences` | array | Array of audiences |
|
||||
| ↳ `id` | string | Audience ID |
|
||||
| ↳ `name` | string | Audience name |
|
||||
| ↳ `created_at` | string | Audience creation timestamp |
|
||||
| `hasMore` | boolean | Whether there are more audiences to retrieve |
|
||||
|
||||
### `resend_delete_audience`
|
||||
|
||||
Delete an audience from Resend by ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `audienceId` | string | Yes | The ID of the audience to delete |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Deleted audience ID |
|
||||
| `deleted` | boolean | Whether the audience was successfully deleted |
|
||||
|
||||
### `resend_create_broadcast`
|
||||
|
||||
Create a broadcast email for an audience in Resend
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `audienceId` | string | Yes | The ID of the audience to send the broadcast to |
|
||||
| `broadcastFrom` | string | Yes | Sender email address \(e.g., "sender@example.com" or "Sender Name <sender@example.com>"\) |
|
||||
| `broadcastSubject` | string | Yes | Broadcast email subject line |
|
||||
| `broadcastHtml` | string | No | HTML content of the broadcast |
|
||||
| `broadcastText` | string | No | Plain text content of the broadcast |
|
||||
| `broadcastReplyTo` | string | No | Reply-to email address |
|
||||
| `broadcastName` | string | No | Friendly internal name for the broadcast |
|
||||
| `broadcastPreviewText` | string | No | Preview text shown in the inbox before the email is opened |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Created broadcast ID |
|
||||
|
||||
### `resend_send_broadcast`
|
||||
|
||||
Send a broadcast immediately or schedule it for later
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `broadcastId` | string | Yes | The ID of the broadcast to send |
|
||||
| `broadcastScheduledAt` | string | No | Schedule delivery in natural language \(e.g., "in 1 min"\) or ISO 8601 format. Sends immediately if omitted |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Broadcast ID |
|
||||
|
||||
### `resend_get_broadcast`
|
||||
|
||||
Retrieve details of a broadcast by ID
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `broadcastId` | string | Yes | The ID of the broadcast to retrieve |
|
||||
| `resendApiKey` | string | Yes | Resend API key |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Broadcast ID |
|
||||
| `name` | string | Broadcast name |
|
||||
| `audienceId` | string | Audience ID \(legacy\) |
|
||||
| `segmentId` | string | Segment ID \(the current recipient field\) |
|
||||
| `from` | string | Sender email address |
|
||||
| `subject` | string | Broadcast subject |
|
||||
| `replyTo` | string | Reply-to email address |
|
||||
| `previewText` | string | Inbox preview text |
|
||||
| `status` | string | Broadcast status \(e.g., draft, sent\) |
|
||||
| `createdAt` | string | Broadcast creation timestamp |
|
||||
| `scheduledAt` | string | Scheduled send timestamp |
|
||||
| `sentAt` | string | Timestamp the broadcast was sent |
|
||||
|
||||
### `resend_list_domains`
|
||||
|
||||
List all verified domains in your Resend account
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: S3
|
||||
description: Upload, download, list, and manage S3 files
|
||||
description: Upload, download, list, and manage S3 files and buckets
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
@@ -29,7 +29,7 @@ In Sim, the S3 integration enables your agents to retrieve and access files stor
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate S3 into the workflow. Upload files, download objects, list bucket contents, delete objects, and copy objects between buckets. Requires AWS access key and secret access key.
|
||||
Integrate S3 into the workflow. Upload, download, copy, and delete objects (individually or in batches), inspect object metadata, generate time-limited presigned URLs, list bucket contents, and create, list, or delete buckets. Requires AWS access key and secret access key.
|
||||
|
||||
|
||||
|
||||
@@ -155,4 +155,144 @@ Copy an object within or between AWS S3 buckets
|
||||
| `uri` | string | S3 URI of the copied object \(s3://bucket/key\) |
|
||||
| `metadata` | object | Copy operation metadata |
|
||||
|
||||
### `s3_list_buckets`
|
||||
|
||||
List the S3 buckets owned by the authenticated AWS account
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `region` | string | Yes | AWS region to address the request to \(e.g., us-east-1\) |
|
||||
| `prefix` | string | No | Limit the response to bucket names that begin with this prefix |
|
||||
| `maxBuckets` | number | No | Maximum number of buckets to return \(1-10000\) |
|
||||
| `continuationToken` | string | No | Token for pagination from a previous list buckets response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `buckets` | array | List of S3 buckets owned by the account |
|
||||
| ↳ `name` | string | Bucket name |
|
||||
| ↳ `creationDate` | string | Bucket creation timestamp |
|
||||
| ↳ `region` | string | AWS region where the bucket is located |
|
||||
| `metadata` | object | Listing metadata including owner and pagination info |
|
||||
|
||||
### `s3_head_object`
|
||||
|
||||
Retrieve metadata for an S3 object without downloading its body
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
|
||||
| `bucketName` | string | Yes | S3 bucket name \(e.g., my-bucket\) |
|
||||
| `objectKey` | string | Yes | Object key/path to inspect \(e.g., folder/file.txt\) |
|
||||
| `versionId` | string | No | Specific object version ID to inspect \(for versioned buckets\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `exists` | boolean | Whether the object exists and was reachable |
|
||||
| `metadata` | object | Object metadata including size, content type, ETag, and last modified date |
|
||||
|
||||
### `s3_create_bucket`
|
||||
|
||||
Create a new AWS S3 bucket in the specified region
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `region` | string | Yes | AWS region to create the bucket in \(e.g., us-east-1\) |
|
||||
| `bucketName` | string | Yes | Name for the new S3 bucket \(must be globally unique\) |
|
||||
| `acl` | string | No | Canned ACL for the bucket \(e.g., private, public-read\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `metadata` | object | Created bucket metadata including name and location |
|
||||
|
||||
### `s3_delete_bucket`
|
||||
|
||||
Delete an empty AWS S3 bucket
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `region` | string | Yes | AWS region where the bucket is located \(e.g., us-east-1\) |
|
||||
| `bucketName` | string | Yes | Name of the S3 bucket to delete \(must be empty\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `deleted` | boolean | Whether the bucket was successfully deleted |
|
||||
| `metadata` | object | Deletion metadata including bucket name |
|
||||
|
||||
### `s3_presigned_url`
|
||||
|
||||
Generate a time-limited presigned URL to download or upload an S3 object
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `region` | string | Yes | AWS region where the bucket is located \(e.g., us-east-1\) |
|
||||
| `bucketName` | string | Yes | S3 bucket name \(e.g., my-bucket\) |
|
||||
| `objectKey` | string | Yes | Object key/path for the presigned URL \(e.g., folder/file.txt\) |
|
||||
| `method` | string | Yes | Operation the URL grants: get \(download\) or put \(upload\) |
|
||||
| `expiresIn` | number | No | URL validity in seconds \(1-604800, default 3600\) |
|
||||
| `contentType` | string | No | Content-Type the upload must use \(only applies to put URLs\) |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `url` | string | The generated presigned URL |
|
||||
| `metadata` | object | Presigned URL metadata including method and expiration |
|
||||
|
||||
### `s3_delete_objects`
|
||||
|
||||
Delete multiple objects from an AWS S3 bucket in a single batch request
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `accessKeyId` | string | Yes | Your AWS Access Key ID |
|
||||
| `secretAccessKey` | string | Yes | Your AWS Secret Access Key |
|
||||
| `region` | string | Yes | AWS region \(e.g., us-east-1\) |
|
||||
| `bucketName` | string | Yes | S3 bucket name \(e.g., my-bucket\) |
|
||||
| `keys` | json | Yes | Array of object keys to delete \(e.g., \["a.txt", "folder/b.txt"\]\). Max 1000. |
|
||||
| `quiet` | boolean | No | Return only deletion errors, omitting successfully deleted keys |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `deleted` | array | Objects that were successfully deleted |
|
||||
| ↳ `key` | string | Deleted object key |
|
||||
| ↳ `versionId` | string | Version ID of the deleted object |
|
||||
| ↳ `deleteMarker` | boolean | Whether a delete marker was created |
|
||||
| `errors` | array | Objects that failed to delete |
|
||||
| ↳ `key` | string | Object key that failed |
|
||||
| ↳ `code` | string | Error code |
|
||||
| ↳ `message` | string | Error message |
|
||||
| `metadata` | object | Batch deletion summary including counts |
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user