mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-31 17:58:04 -05:00
* feat(tools): added calcom * added more triggers, tested * updated regex in script for release to be more lenient * fix(tag-dropdown): performance improvements and scroll bug fixes - Add flatTagIndexMap for O(1) tag lookups (replaces O(n²) findIndex calls) - Memoize caret position calculation to avoid DOM manipulation on every render - Use refs for inputValue/cursorPosition to keep handleTagSelect callback stable - Change itemRefs from index-based to tag-based keys to prevent stale refs - Fix scroll jump in nested folders by removing scroll reset from registerFolder - Add onFolderEnter callback for scroll reset when entering folder via keyboard - Disable keyboard navigation wrap-around at boundaries - Simplify selection reset to single effect on flatTagList.length change Also: - Add safeCompare utility for timing-safe string comparison - Refactor webhook signature validation to use safeCompare Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * updated types * fix(calcom): simplify required field constraints for booking attendee The condition field already restricts these to calcom_create_booking, so simplified to required: true. Per Cal.com API docs, email is optional while name and timeZone are required. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * added tests * updated folder multi select, updated calcom and github tools and docs generator script * updated drag, updated outputs for tools, regen docs with nested docs script * updated setup instructions links, destructure trigger outputs, fix text subblock styling * updated docs gen script * updated docs script * updated docs script * updated script * remove destructuring of stripe webhook * expanded wand textarea, updated calcom tools --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
274 lines
10 KiB
Plaintext
274 lines
10 KiB
Plaintext
---
|
|
title: Dropbox
|
|
description: Upload, download, share, and manage files in Dropbox
|
|
---
|
|
|
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|
|
|
<BlockInfoCard
|
|
type="dropbox"
|
|
color="#0061FF"
|
|
/>
|
|
|
|
{/* MANUAL-CONTENT-START:intro */}
|
|
[Dropbox](https://dropbox.com/) is a popular cloud storage and collaboration platform that enables individuals and teams to securely store, access, and share files from anywhere. Dropbox is designed for easy file management, syncing, and powerful collaboration, whether you're working solo or with a group.
|
|
|
|
With Dropbox in Sim, you can:
|
|
|
|
- **Upload and download files**: Seamlessly upload any file to your Dropbox or retrieve content on demand
|
|
- **List folder contents**: Browse the files and folders within any Dropbox directory
|
|
- **Create new folders**: Organize your files by programmatically creating new folders in your Dropbox
|
|
- **Search files and folders**: Locate documents, images, or other items by name or content
|
|
- **Generate shared links**: Quickly create shareable public or private links for files and folders
|
|
- **Manage files**: Move, delete, or rename files and folders as part of automated workflows
|
|
|
|
These capabilities allow your Sim agents to automate Dropbox operations directly within your workflows — from backing up important files to distributing content and maintaining organized folders. Use Dropbox as both a source and destination for files, enabling seamless cloud storage management as part of your business processes.
|
|
{/* MANUAL-CONTENT-END */}
|
|
|
|
|
|
## Usage Instructions
|
|
|
|
Integrate Dropbox into your workflow for file management, sharing, and collaboration. Upload files, download content, create folders, manage shared links, and more.
|
|
|
|
|
|
|
|
## Tools
|
|
|
|
### `dropbox_upload`
|
|
|
|
Upload a file to Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path in Dropbox where the file should be saved \(e.g., /folder/document.pdf\) |
|
|
| `fileContent` | string | Yes | The base64 encoded content of the file to upload |
|
|
| `fileName` | string | No | Optional filename \(used if path is a folder\) |
|
|
| `mode` | string | No | Write mode: add \(default\) or overwrite |
|
|
| `autorename` | boolean | No | If true, rename the file if there is a conflict |
|
|
| `mute` | boolean | No | If true, don't notify the user about this upload |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `file` | object | The uploaded file metadata |
|
|
| ↳ `id` | string | Unique identifier for the file |
|
|
| ↳ `name` | string | Name of the file |
|
|
| ↳ `path_display` | string | Display path of the file |
|
|
| ↳ `path_lower` | string | Lowercase path of the file |
|
|
| ↳ `size` | number | Size of the file in bytes |
|
|
| ↳ `client_modified` | string | Client modification time |
|
|
| ↳ `server_modified` | string | Server modification time |
|
|
| ↳ `rev` | string | Revision identifier |
|
|
| ↳ `content_hash` | string | Content hash for the file |
|
|
|
|
### `dropbox_download`
|
|
|
|
Download a file from Dropbox and get a temporary link
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path of the file to download \(e.g., /folder/document.pdf\) |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `file` | object | The file metadata |
|
|
| ↳ `id` | string | Unique identifier for the file |
|
|
| ↳ `name` | string | Name of the file |
|
|
| ↳ `path_display` | string | Display path of the file |
|
|
| ↳ `size` | number | Size of the file in bytes |
|
|
| `temporaryLink` | string | Temporary link to download the file \(valid for ~4 hours\) |
|
|
| `content` | string | Base64 encoded file content \(if fetched\) |
|
|
|
|
### `dropbox_list_folder`
|
|
|
|
List the contents of a folder in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path of the folder to list \(use "" for root\) |
|
|
| `recursive` | boolean | No | If true, list contents recursively |
|
|
| `includeDeleted` | boolean | No | If true, include deleted files/folders |
|
|
| `includeMediaInfo` | boolean | No | If true, include media info for photos/videos |
|
|
| `limit` | number | No | Maximum number of results to return \(default: 500\) |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `entries` | array | List of files and folders in the directory |
|
|
| ↳ `id` | string | Unique identifier |
|
|
| ↳ `name` | string | Name of the file/folder |
|
|
| ↳ `path_display` | string | Display path |
|
|
| ↳ `size` | number | Size in bytes \(files only\) |
|
|
| `cursor` | string | Cursor for pagination |
|
|
| `hasMore` | boolean | Whether there are more results |
|
|
|
|
### `dropbox_create_folder`
|
|
|
|
Create a new folder in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path where the folder should be created \(e.g., /new-folder\) |
|
|
| `autorename` | boolean | No | If true, rename the folder if there is a conflict |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `folder` | object | The created folder metadata |
|
|
| ↳ `id` | string | Unique identifier for the folder |
|
|
| ↳ `name` | string | Name of the folder |
|
|
| ↳ `path_display` | string | Display path of the folder |
|
|
| ↳ `path_lower` | string | Lowercase path of the folder |
|
|
|
|
### `dropbox_delete`
|
|
|
|
Delete a file or folder in Dropbox (moves to trash)
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path of the file or folder to delete |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `metadata` | object | Metadata of the deleted item |
|
|
| ↳ `name` | string | Name of the deleted item |
|
|
| ↳ `path_display` | string | Display path |
|
|
| `deleted` | boolean | Whether the deletion was successful |
|
|
|
|
### `dropbox_copy`
|
|
|
|
Copy a file or folder in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `fromPath` | string | Yes | The source path of the file or folder to copy |
|
|
| `toPath` | string | Yes | The destination path for the copied file or folder |
|
|
| `autorename` | boolean | No | If true, rename the file if there is a conflict at destination |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `metadata` | object | Metadata of the copied item |
|
|
| ↳ `id` | string | Unique identifier |
|
|
| ↳ `name` | string | Name of the copied item |
|
|
| ↳ `path_display` | string | Display path |
|
|
| ↳ `size` | number | Size in bytes \(files only\) |
|
|
|
|
### `dropbox_move`
|
|
|
|
Move or rename a file or folder in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `fromPath` | string | Yes | The source path of the file or folder to move |
|
|
| `toPath` | string | Yes | The destination path for the moved file or folder |
|
|
| `autorename` | boolean | No | If true, rename the file if there is a conflict at destination |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `metadata` | object | Metadata of the moved item |
|
|
| ↳ `id` | string | Unique identifier |
|
|
| ↳ `name` | string | Name of the moved item |
|
|
| ↳ `path_display` | string | Display path |
|
|
| ↳ `size` | number | Size in bytes \(files only\) |
|
|
|
|
### `dropbox_get_metadata`
|
|
|
|
Get metadata for a file or folder in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path of the file or folder to get metadata for |
|
|
| `includeMediaInfo` | boolean | No | If true, include media info for photos/videos |
|
|
| `includeDeleted` | boolean | No | If true, include deleted files in results |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `metadata` | object | Metadata for the file or folder |
|
|
| ↳ `id` | string | Unique identifier |
|
|
| ↳ `name` | string | Name of the item |
|
|
| ↳ `path_display` | string | Display path |
|
|
| ↳ `path_lower` | string | Lowercase path |
|
|
| ↳ `size` | number | Size in bytes \(files only\) |
|
|
| ↳ `client_modified` | string | Client modification time |
|
|
| ↳ `server_modified` | string | Server modification time |
|
|
| ↳ `rev` | string | Revision identifier |
|
|
| ↳ `content_hash` | string | Content hash |
|
|
|
|
### `dropbox_create_shared_link`
|
|
|
|
Create a shareable link for a file or folder in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `path` | string | Yes | The path of the file or folder to share |
|
|
| `requestedVisibility` | string | No | Visibility: public, team_only, or password |
|
|
| `linkPassword` | string | No | Password for the shared link \(only if visibility is password\) |
|
|
| `expires` | string | No | Expiration date in ISO 8601 format \(e.g., 2025-12-31T23:59:59Z\) |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `sharedLink` | object | The created shared link |
|
|
| ↳ `url` | string | The shared link URL |
|
|
| ↳ `name` | string | Name of the shared item |
|
|
| ↳ `path_lower` | string | Lowercase path of the shared item |
|
|
| ↳ `expires` | string | Expiration date if set |
|
|
| ↳ `link_permissions` | object | Permissions for the shared link |
|
|
|
|
### `dropbox_search`
|
|
|
|
Search for files and folders in Dropbox
|
|
|
|
#### Input
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| --------- | ---- | -------- | ----------- |
|
|
| `query` | string | Yes | The search query |
|
|
| `path` | string | No | Limit search to a specific folder path |
|
|
| `fileExtensions` | string | No | Comma-separated list of file extensions to filter by \(e.g., pdf,xlsx\) |
|
|
| `maxResults` | number | No | Maximum number of results to return \(default: 100\) |
|
|
|
|
#### Output
|
|
|
|
| Parameter | Type | Description |
|
|
| --------- | ---- | ----------- |
|
|
| `matches` | array | Search results |
|
|
| ↳ `match_type` | object | Type of match: filename, content, or both |
|
|
| ↳ `metadata` | object | File or folder metadata |
|
|
| `hasMore` | boolean | Whether there are more results |
|
|
| `cursor` | string | Cursor for pagination |
|
|
|
|
|