mirror of
https://github.com/simstudioai/sim.git
synced 2026-04-06 03:00:16 -04:00
refactor(box): merge Box Sign into single Box block
Combine Box and Box Sign into one unified block with all 15 operations accessible via a single dropdown, removing the separate box_sign block. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -49,8 +49,8 @@ import {
|
||||
FirecrawlIcon,
|
||||
FirefliesIcon,
|
||||
GammaIcon,
|
||||
GithubIcon,
|
||||
GitLabIcon,
|
||||
GithubIcon,
|
||||
GmailIcon,
|
||||
GongIcon,
|
||||
GoogleAdsIcon,
|
||||
@@ -93,9 +93,9 @@ import {
|
||||
LinkupIcon,
|
||||
LoopsIcon,
|
||||
LumaIcon,
|
||||
MailServerIcon,
|
||||
MailchimpIcon,
|
||||
MailgunIcon,
|
||||
MailServerIcon,
|
||||
Mem0Icon,
|
||||
MicrosoftDataverseIcon,
|
||||
MicrosoftExcelIcon,
|
||||
@@ -130,6 +130,8 @@ import {
|
||||
ResendIcon,
|
||||
RevenueCatIcon,
|
||||
S3Icon,
|
||||
SQSIcon,
|
||||
STTIcon,
|
||||
SalesforceIcon,
|
||||
SearchIcon,
|
||||
SendgridIcon,
|
||||
@@ -141,19 +143,17 @@ import {
|
||||
SimilarwebIcon,
|
||||
SlackIcon,
|
||||
SmtpIcon,
|
||||
SQSIcon,
|
||||
SshIcon,
|
||||
STTIcon,
|
||||
StagehandIcon,
|
||||
StripeIcon,
|
||||
SupabaseIcon,
|
||||
TTSIcon,
|
||||
TavilyIcon,
|
||||
TelegramIcon,
|
||||
TextractIcon,
|
||||
TinybirdIcon,
|
||||
TranslateIcon,
|
||||
TrelloIcon,
|
||||
TTSIcon,
|
||||
TwilioIcon,
|
||||
TypeformIcon,
|
||||
UpstashIcon,
|
||||
@@ -164,11 +164,11 @@ import {
|
||||
WhatsAppIcon,
|
||||
WikipediaIcon,
|
||||
WordpressIcon,
|
||||
xIcon,
|
||||
YouTubeIcon,
|
||||
ZendeskIcon,
|
||||
ZepIcon,
|
||||
ZoomIcon,
|
||||
xIcon,
|
||||
} from '@/components/icons'
|
||||
|
||||
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
|
||||
@@ -187,7 +187,6 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
|
||||
ashby: AshbyIcon,
|
||||
attio: AttioIcon,
|
||||
box: BoxCompanyIcon,
|
||||
box_sign: BoxCompanyIcon,
|
||||
brandfetch: BrandfetchIcon,
|
||||
browser_use: BrowserUseIcon,
|
||||
calcom: CalComIcon,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Box
|
||||
description: Upload, download, search, and manage files and folders in Box
|
||||
description: Manage files, folders, and e-signatures with Box
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
@@ -11,7 +11,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Box](https://www.box.com/) is a leading cloud content management and file sharing platform trusted by enterprises worldwide to securely store, manage, and collaborate on files. Box provides robust APIs for automating file operations and integrating with business workflows.
|
||||
[Box](https://www.box.com/) is a leading cloud content management and file sharing platform trusted by enterprises worldwide to securely store, manage, and collaborate on files. Box provides robust APIs for automating file operations and integrating with business workflows, including [Box Sign](https://www.box.com/esignature) for native e-signatures.
|
||||
|
||||
With the Box integration in Sim, you can:
|
||||
|
||||
@@ -24,14 +24,19 @@ With the Box integration in Sim, you can:
|
||||
- **Copy files**: Duplicate files across folders with optional renaming
|
||||
- **Search**: Find files and folders by name, content, extension, or location
|
||||
- **Update file metadata**: Rename, move, add descriptions, or tag files
|
||||
- **Create sign requests**: Send documents for e-signature with one or more signers
|
||||
- **Track signing status**: Monitor the progress of sign requests
|
||||
- **List sign requests**: View all sign requests with marker-based pagination
|
||||
- **Cancel sign requests**: Cancel pending sign requests that are no longer needed
|
||||
- **Resend sign reminders**: Send reminder notifications to signers who haven't completed signing
|
||||
|
||||
These capabilities allow your Sim agents to automate Box operations directly within your workflows — from organizing documents and distributing content to processing uploaded files and maintaining structured cloud storage as part of your business processes.
|
||||
These capabilities allow your Sim agents to automate Box operations directly within your workflows — from organizing documents and distributing content to processing uploaded files, managing e-signature workflows for offer letters and contracts, and maintaining structured cloud storage as part of your business processes.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Box into your workflow to manage files and folders. Upload and download files, get file information, list folder contents, create and delete folders, copy files, search across your Box account, and update file metadata.
|
||||
Integrate Box into your workflow to manage files, folders, and e-signatures. Upload and download files, search content, create folders, send documents for e-signature, track signing status, and more.
|
||||
|
||||
|
||||
|
||||
@@ -285,4 +290,151 @@ Update file info in Box (rename, move, change description, add tags)
|
||||
| `tags` | array | File tags |
|
||||
| `commentCount` | number | Number of comments |
|
||||
|
||||
### `box_sign_create_request`
|
||||
|
||||
Create a new Box Sign request to send documents for e-signature
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `sourceFileIds` | string | Yes | Comma-separated Box file IDs to send for signing |
|
||||
| `signerEmail` | string | Yes | Primary signer email address |
|
||||
| `signerRole` | string | No | Primary signer role: signer, approver, or final_copy_reader \(default: signer\) |
|
||||
| `additionalSigners` | string | No | JSON array of additional signers, e.g. \[\{"email":"user@example.com","role":"signer"\}\] |
|
||||
| `parentFolderId` | string | No | Box folder ID where signed documents will be stored \(default: user root\) |
|
||||
| `emailSubject` | string | No | Custom subject line for the signing email |
|
||||
| `emailMessage` | string | No | Custom message in the signing email body |
|
||||
| `name` | string | No | Name for the sign request |
|
||||
| `daysValid` | number | No | Number of days before the request expires \(0-730\) |
|
||||
| `areRemindersEnabled` | boolean | No | Whether to send automatic signing reminders |
|
||||
| `areTextSignaturesEnabled` | boolean | No | Whether to allow typed \(text\) signatures |
|
||||
| `signatureColor` | string | No | Signature color: blue, black, or red |
|
||||
| `redirectUrl` | string | No | URL to redirect signers to after signing |
|
||||
| `declinedRedirectUrl` | string | No | URL to redirect signers to after declining |
|
||||
| `isDocumentPreparationNeeded` | boolean | No | Whether document preparation is needed before sending |
|
||||
| `externalId` | string | No | External system reference ID |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Sign request ID |
|
||||
| `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| `name` | string | Sign request name |
|
||||
| `shortId` | string | Human-readable short ID |
|
||||
| `signers` | array | List of signers |
|
||||
| `sourceFiles` | array | Source files for signing |
|
||||
| `emailSubject` | string | Custom email subject line |
|
||||
| `emailMessage` | string | Custom email message body |
|
||||
| `daysValid` | number | Number of days the request is valid |
|
||||
| `createdAt` | string | Creation timestamp |
|
||||
| `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| `senderEmail` | string | Email of the sender |
|
||||
|
||||
### `box_sign_get_request`
|
||||
|
||||
Get the details and status of a Box Sign request
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `signRequestId` | string | Yes | The ID of the sign request to retrieve |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Sign request ID |
|
||||
| `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| `name` | string | Sign request name |
|
||||
| `shortId` | string | Human-readable short ID |
|
||||
| `signers` | array | List of signers |
|
||||
| `sourceFiles` | array | Source files for signing |
|
||||
| `emailSubject` | string | Custom email subject line |
|
||||
| `emailMessage` | string | Custom email message body |
|
||||
| `daysValid` | number | Number of days the request is valid |
|
||||
| `createdAt` | string | Creation timestamp |
|
||||
| `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| `senderEmail` | string | Email of the sender |
|
||||
|
||||
### `box_sign_list_requests`
|
||||
|
||||
List all Box Sign requests
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `limit` | number | No | Maximum number of sign requests to return \(max 1000\) |
|
||||
| `marker` | string | No | Pagination marker from a previous response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `signRequests` | array | List of sign requests |
|
||||
| ↳ `id` | string | Sign request ID |
|
||||
| ↳ `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| ↳ `name` | string | Sign request name |
|
||||
| ↳ `shortId` | string | Human-readable short ID |
|
||||
| ↳ `signers` | array | List of signers |
|
||||
| ↳ `sourceFiles` | array | Source files for signing |
|
||||
| ↳ `emailSubject` | string | Custom email subject line |
|
||||
| ↳ `emailMessage` | string | Custom email message body |
|
||||
| ↳ `daysValid` | number | Number of days the request is valid |
|
||||
| ↳ `createdAt` | string | Creation timestamp |
|
||||
| ↳ `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| ↳ `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| ↳ `senderEmail` | string | Email of the sender |
|
||||
| `count` | number | Number of sign requests returned in this page |
|
||||
| `nextMarker` | string | Marker for next page of results |
|
||||
|
||||
### `box_sign_cancel_request`
|
||||
|
||||
Cancel a pending Box Sign request
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `signRequestId` | string | Yes | The ID of the sign request to cancel |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Sign request ID |
|
||||
| `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| `name` | string | Sign request name |
|
||||
| `shortId` | string | Human-readable short ID |
|
||||
| `signers` | array | List of signers |
|
||||
| `sourceFiles` | array | Source files for signing |
|
||||
| `emailSubject` | string | Custom email subject line |
|
||||
| `emailMessage` | string | Custom email message body |
|
||||
| `daysValid` | number | Number of days the request is valid |
|
||||
| `createdAt` | string | Creation timestamp |
|
||||
| `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| `senderEmail` | string | Email of the sender |
|
||||
|
||||
### `box_sign_resend_request`
|
||||
|
||||
Resend a Box Sign request to signers who have not yet signed
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `signRequestId` | string | Yes | The ID of the sign request to resend |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Success confirmation message |
|
||||
|
||||
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
---
|
||||
title: Box Sign
|
||||
description: Send documents for e-signature, check status, and manage sign requests with Box Sign
|
||||
---
|
||||
|
||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||
|
||||
<BlockInfoCard
|
||||
type="box_sign"
|
||||
color="#0061D5"
|
||||
/>
|
||||
|
||||
{/* MANUAL-CONTENT-START:intro */}
|
||||
[Box Sign](https://www.box.com/esignature) is Box's native e-signature solution that allows you to send documents for legally binding electronic signatures directly from your Box account. It's built into Box, so signed documents are automatically stored and organized in your cloud content.
|
||||
|
||||
With the Box Sign integration in Sim, you can:
|
||||
|
||||
- **Create sign requests**: Send documents for e-signature with one or more signers, specifying roles (signer, approver, final copy reader)
|
||||
- **Track signing status**: Monitor the progress of sign requests including who has signed and pending actions
|
||||
- **List sign requests**: View all sign requests with marker-based pagination
|
||||
- **Cancel requests**: Cancel pending sign requests that are no longer needed
|
||||
- **Resend reminders**: Send reminder notifications to signers who haven't completed signing
|
||||
|
||||
The Box Sign integration is ideal for automating document signing workflows such as offer letters, contracts, NDAs, and approval processes. Agents can create sign requests from documents already stored in Box, track completion, and trigger follow-up actions based on signing status.
|
||||
{/* MANUAL-CONTENT-END */}
|
||||
|
||||
|
||||
## Usage Instructions
|
||||
|
||||
Integrate Box Sign into your workflow to send documents for e-signature. Create sign requests with multiple signers, track signing status, list all requests, cancel pending requests, and resend reminders. Ideal for offer letters, contracts, and other documents requiring signatures.
|
||||
|
||||
|
||||
|
||||
## Tools
|
||||
|
||||
### `box_sign_create_request`
|
||||
|
||||
Create a new Box Sign request to send documents for e-signature
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `sourceFileIds` | string | Yes | Comma-separated Box file IDs to send for signing |
|
||||
| `signerEmail` | string | Yes | Primary signer email address |
|
||||
| `signerRole` | string | No | Primary signer role: signer, approver, or final_copy_reader \(default: signer\) |
|
||||
| `additionalSigners` | string | No | JSON array of additional signers, e.g. \[\{"email":"user@example.com","role":"signer"\}\] |
|
||||
| `parentFolderId` | string | No | Box folder ID where signed documents will be stored \(default: user root\) |
|
||||
| `emailSubject` | string | No | Custom subject line for the signing email |
|
||||
| `emailMessage` | string | No | Custom message in the signing email body |
|
||||
| `name` | string | No | Name for the sign request |
|
||||
| `daysValid` | number | No | Number of days before the request expires \(0-730\) |
|
||||
| `areRemindersEnabled` | boolean | No | Whether to send automatic signing reminders |
|
||||
| `areTextSignaturesEnabled` | boolean | No | Whether to allow typed \(text\) signatures |
|
||||
| `signatureColor` | string | No | Signature color: blue, black, or red |
|
||||
| `redirectUrl` | string | No | URL to redirect signers to after signing |
|
||||
| `declinedRedirectUrl` | string | No | URL to redirect signers to after declining |
|
||||
| `isDocumentPreparationNeeded` | boolean | No | Whether document preparation is needed before sending |
|
||||
| `externalId` | string | No | External system reference ID |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Sign request ID |
|
||||
| `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| `name` | string | Sign request name |
|
||||
| `shortId` | string | Human-readable short ID |
|
||||
| `signers` | array | List of signers |
|
||||
| `sourceFiles` | array | Source files for signing |
|
||||
| `emailSubject` | string | Custom email subject line |
|
||||
| `emailMessage` | string | Custom email message body |
|
||||
| `daysValid` | number | Number of days the request is valid |
|
||||
| `createdAt` | string | Creation timestamp |
|
||||
| `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| `senderEmail` | string | Email of the sender |
|
||||
|
||||
### `box_sign_get_request`
|
||||
|
||||
Get the details and status of a Box Sign request
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `signRequestId` | string | Yes | The ID of the sign request to retrieve |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Sign request ID |
|
||||
| `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| `name` | string | Sign request name |
|
||||
| `shortId` | string | Human-readable short ID |
|
||||
| `signers` | array | List of signers |
|
||||
| `sourceFiles` | array | Source files for signing |
|
||||
| `emailSubject` | string | Custom email subject line |
|
||||
| `emailMessage` | string | Custom email message body |
|
||||
| `daysValid` | number | Number of days the request is valid |
|
||||
| `createdAt` | string | Creation timestamp |
|
||||
| `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| `senderEmail` | string | Email of the sender |
|
||||
|
||||
### `box_sign_list_requests`
|
||||
|
||||
List all Box Sign requests
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `limit` | number | No | Maximum number of sign requests to return \(max 1000\) |
|
||||
| `marker` | string | No | Pagination marker from a previous response |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `signRequests` | array | List of sign requests |
|
||||
| ↳ `id` | string | Sign request ID |
|
||||
| ↳ `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| ↳ `name` | string | Sign request name |
|
||||
| ↳ `shortId` | string | Human-readable short ID |
|
||||
| ↳ `signers` | array | List of signers |
|
||||
| ↳ `sourceFiles` | array | Source files for signing |
|
||||
| ↳ `emailSubject` | string | Custom email subject line |
|
||||
| ↳ `emailMessage` | string | Custom email message body |
|
||||
| ↳ `daysValid` | number | Number of days the request is valid |
|
||||
| ↳ `createdAt` | string | Creation timestamp |
|
||||
| ↳ `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| ↳ `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| ↳ `senderEmail` | string | Email of the sender |
|
||||
| `count` | number | Number of sign requests returned in this page |
|
||||
| `nextMarker` | string | Marker for next page of results |
|
||||
|
||||
### `box_sign_cancel_request`
|
||||
|
||||
Cancel a pending Box Sign request
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `signRequestId` | string | Yes | The ID of the sign request to cancel |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `id` | string | Sign request ID |
|
||||
| `status` | string | Request status \(converting, created, sent, viewed, signed, cancelled, declined, expired, error_converting, error_sending, finalizing, error_finalizing\) |
|
||||
| `name` | string | Sign request name |
|
||||
| `shortId` | string | Human-readable short ID |
|
||||
| `signers` | array | List of signers |
|
||||
| `sourceFiles` | array | Source files for signing |
|
||||
| `emailSubject` | string | Custom email subject line |
|
||||
| `emailMessage` | string | Custom email message body |
|
||||
| `daysValid` | number | Number of days the request is valid |
|
||||
| `createdAt` | string | Creation timestamp |
|
||||
| `autoExpireAt` | string | Auto-expiration timestamp |
|
||||
| `prepareUrl` | string | URL for document preparation \(if preparation is needed\) |
|
||||
| `senderEmail` | string | Email of the sender |
|
||||
|
||||
### `box_sign_resend_request`
|
||||
|
||||
Resend a Box Sign request to signers who have not yet signed
|
||||
|
||||
#### Input
|
||||
|
||||
| Parameter | Type | Required | Description |
|
||||
| --------- | ---- | -------- | ----------- |
|
||||
| `signRequestId` | string | Yes | The ID of the sign request to resend |
|
||||
|
||||
#### Output
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ---- | ----------- |
|
||||
| `message` | string | Success confirmation message |
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
"ashby",
|
||||
"attio",
|
||||
"box",
|
||||
"box_sign",
|
||||
"brandfetch",
|
||||
"browser_use",
|
||||
"calcom",
|
||||
@@ -170,4 +169,4 @@
|
||||
"zep",
|
||||
"zoom"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -7,9 +7,9 @@ import { normalizeFileInput } from '@/blocks/utils'
|
||||
export const BoxBlock: BlockConfig = {
|
||||
type: 'box',
|
||||
name: 'Box',
|
||||
description: 'Upload, download, search, and manage files and folders in Box',
|
||||
description: 'Manage files, folders, and e-signatures with Box',
|
||||
longDescription:
|
||||
'Integrate Box into your workflow to manage files and folders. Upload and download files, get file information, list folder contents, create and delete folders, copy files, search across your Box account, and update file metadata.',
|
||||
'Integrate Box into your workflow to manage files, folders, and e-signatures. Upload and download files, search content, create folders, send documents for e-signature, track signing status, and more.',
|
||||
docsLink: 'https://docs.sim.ai/tools/box',
|
||||
category: 'tools',
|
||||
bgColor: '#0061D5',
|
||||
@@ -32,6 +32,11 @@ export const BoxBlock: BlockConfig = {
|
||||
{ label: 'Copy File', id: 'copy_file' },
|
||||
{ label: 'Search', id: 'search' },
|
||||
{ label: 'Update File', id: 'update_file' },
|
||||
{ label: 'Create Sign Request', id: 'sign_create_request' },
|
||||
{ label: 'Get Sign Request', id: 'sign_get_request' },
|
||||
{ label: 'List Sign Requests', id: 'sign_list_requests' },
|
||||
{ label: 'Cancel Sign Request', id: 'sign_cancel_request' },
|
||||
{ label: 'Resend Sign Request', id: 'sign_resend_request' },
|
||||
],
|
||||
value: () => 'upload_file',
|
||||
},
|
||||
@@ -209,13 +214,16 @@ export const BoxBlock: BlockConfig = {
|
||||
condition: { field: 'operation', value: 'delete_folder' },
|
||||
},
|
||||
|
||||
// Shared pagination fields
|
||||
// Shared pagination fields (file operations)
|
||||
{
|
||||
id: 'limit',
|
||||
title: 'Limit',
|
||||
type: 'short-input',
|
||||
placeholder: 'Max results per page',
|
||||
condition: { field: 'operation', value: ['list_folder_items', 'search'] },
|
||||
condition: {
|
||||
field: 'operation',
|
||||
value: ['list_folder_items', 'search', 'sign_list_requests'],
|
||||
},
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
@@ -255,6 +263,165 @@ export const BoxBlock: BlockConfig = {
|
||||
condition: { field: 'operation', value: 'list_folder_items' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
|
||||
// Sign Request fields
|
||||
{
|
||||
id: 'sourceFileIds',
|
||||
title: 'Source File IDs',
|
||||
type: 'short-input',
|
||||
placeholder: 'Comma-separated Box file IDs (e.g., 12345,67890)',
|
||||
required: { field: 'operation', value: 'sign_create_request' },
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
},
|
||||
{
|
||||
id: 'signerEmail',
|
||||
title: 'Signer Email',
|
||||
type: 'short-input',
|
||||
placeholder: 'Primary signer email address',
|
||||
required: { field: 'operation', value: 'sign_create_request' },
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
},
|
||||
{
|
||||
id: 'signerRole',
|
||||
title: 'Signer Role',
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
{ label: 'Signer', id: 'signer' },
|
||||
{ label: 'Approver', id: 'approver' },
|
||||
{ label: 'Final Copy Reader', id: 'final_copy_reader' },
|
||||
],
|
||||
value: () => 'signer',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
},
|
||||
{
|
||||
id: 'emailSubject',
|
||||
title: 'Email Subject',
|
||||
type: 'short-input',
|
||||
placeholder: 'Custom email subject line',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
},
|
||||
{
|
||||
id: 'emailMessage',
|
||||
title: 'Email Message',
|
||||
type: 'long-input',
|
||||
placeholder: 'Custom message in the signing email',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
},
|
||||
{
|
||||
id: 'signRequestName',
|
||||
title: 'Request Name',
|
||||
type: 'short-input',
|
||||
placeholder: 'Name for this sign request',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
},
|
||||
{
|
||||
id: 'additionalSigners',
|
||||
title: 'Additional Signers',
|
||||
type: 'long-input',
|
||||
placeholder: '[{"email":"user@example.com","role":"signer"}]',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'signParentFolderId',
|
||||
title: 'Destination Folder ID',
|
||||
type: 'short-input',
|
||||
placeholder: 'Box folder ID for signed documents',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'daysValid',
|
||||
title: 'Days Valid',
|
||||
type: 'short-input',
|
||||
placeholder: 'Number of days before expiry (0-730)',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'areRemindersEnabled',
|
||||
title: 'Enable Reminders',
|
||||
type: 'switch',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'areTextSignaturesEnabled',
|
||||
title: 'Allow Text Signatures',
|
||||
type: 'switch',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'signatureColor',
|
||||
title: 'Signature Color',
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
{ label: 'Blue', id: 'blue' },
|
||||
{ label: 'Black', id: 'black' },
|
||||
{ label: 'Red', id: 'red' },
|
||||
],
|
||||
value: () => 'blue',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'redirectUrl',
|
||||
title: 'Redirect URL',
|
||||
type: 'short-input',
|
||||
placeholder: 'URL to redirect after signing',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'declinedRedirectUrl',
|
||||
title: 'Declined Redirect URL',
|
||||
type: 'short-input',
|
||||
placeholder: 'URL to redirect after declining',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'isDocumentPreparationNeeded',
|
||||
title: 'Document Preparation Needed',
|
||||
type: 'switch',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'externalId',
|
||||
title: 'External ID',
|
||||
type: 'short-input',
|
||||
placeholder: 'External system reference ID',
|
||||
condition: { field: 'operation', value: 'sign_create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
|
||||
// Sign Request ID (shared by get, cancel, resend)
|
||||
{
|
||||
id: 'signRequestId',
|
||||
title: 'Sign Request ID',
|
||||
type: 'short-input',
|
||||
placeholder: 'Box Sign request ID',
|
||||
required: {
|
||||
field: 'operation',
|
||||
value: ['sign_get_request', 'sign_cancel_request', 'sign_resend_request'],
|
||||
},
|
||||
condition: {
|
||||
field: 'operation',
|
||||
value: ['sign_get_request', 'sign_cancel_request', 'sign_resend_request'],
|
||||
},
|
||||
},
|
||||
|
||||
// Sign list pagination marker
|
||||
{
|
||||
id: 'marker',
|
||||
title: 'Pagination Marker',
|
||||
type: 'short-input',
|
||||
placeholder: 'Marker from previous response',
|
||||
condition: { field: 'operation', value: 'sign_list_requests' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
],
|
||||
|
||||
tools: {
|
||||
@@ -269,9 +436,20 @@ export const BoxBlock: BlockConfig = {
|
||||
'box_copy_file',
|
||||
'box_search',
|
||||
'box_update_file',
|
||||
'box_sign_create_request',
|
||||
'box_sign_get_request',
|
||||
'box_sign_list_requests',
|
||||
'box_sign_cancel_request',
|
||||
'box_sign_resend_request',
|
||||
],
|
||||
config: {
|
||||
tool: (params) => `box_${params.operation}`,
|
||||
tool: (params) => {
|
||||
const op = params.operation as string
|
||||
if (op.startsWith('sign_')) {
|
||||
return `box_${op}`
|
||||
}
|
||||
return `box_${op}`
|
||||
},
|
||||
params: (params) => {
|
||||
const normalizedFile = normalizeFileInput(params.file, { single: true })
|
||||
if (normalizedFile) {
|
||||
@@ -329,6 +507,36 @@ export const BoxBlock: BlockConfig = {
|
||||
if (rest.moveToFolderId) baseParams.parentFolderId = rest.moveToFolderId
|
||||
if (rest.tags) baseParams.tags = rest.tags
|
||||
break
|
||||
case 'sign_create_request':
|
||||
baseParams.sourceFileIds = rest.sourceFileIds
|
||||
baseParams.signerEmail = rest.signerEmail
|
||||
if (rest.signerRole) baseParams.signerRole = rest.signerRole
|
||||
if (rest.additionalSigners) baseParams.additionalSigners = rest.additionalSigners
|
||||
if (rest.signParentFolderId) baseParams.parentFolderId = rest.signParentFolderId
|
||||
if (rest.emailSubject) baseParams.emailSubject = rest.emailSubject
|
||||
if (rest.emailMessage) baseParams.emailMessage = rest.emailMessage
|
||||
if (rest.signRequestName) baseParams.name = rest.signRequestName
|
||||
if (rest.daysValid) baseParams.daysValid = Number(rest.daysValid)
|
||||
if (rest.areRemindersEnabled !== undefined)
|
||||
baseParams.areRemindersEnabled = rest.areRemindersEnabled
|
||||
if (rest.areTextSignaturesEnabled !== undefined)
|
||||
baseParams.areTextSignaturesEnabled = rest.areTextSignaturesEnabled
|
||||
if (rest.signatureColor) baseParams.signatureColor = rest.signatureColor
|
||||
if (rest.redirectUrl) baseParams.redirectUrl = rest.redirectUrl
|
||||
if (rest.declinedRedirectUrl) baseParams.declinedRedirectUrl = rest.declinedRedirectUrl
|
||||
if (rest.isDocumentPreparationNeeded !== undefined)
|
||||
baseParams.isDocumentPreparationNeeded = rest.isDocumentPreparationNeeded
|
||||
if (rest.externalId) baseParams.externalId = rest.externalId
|
||||
break
|
||||
case 'sign_get_request':
|
||||
case 'sign_cancel_request':
|
||||
case 'sign_resend_request':
|
||||
baseParams.signRequestId = rest.signRequestId
|
||||
break
|
||||
case 'sign_list_requests':
|
||||
if (rest.limit) baseParams.limit = Number(rest.limit)
|
||||
if (rest.marker) baseParams.marker = rest.marker
|
||||
break
|
||||
}
|
||||
|
||||
return baseParams
|
||||
@@ -344,6 +552,9 @@ export const BoxBlock: BlockConfig = {
|
||||
folderId: { type: 'string', description: 'Box folder ID' },
|
||||
parentFolderId: { type: 'string', description: 'Parent folder ID' },
|
||||
query: { type: 'string', description: 'Search query' },
|
||||
sourceFileIds: { type: 'string', description: 'Comma-separated Box file IDs' },
|
||||
signerEmail: { type: 'string', description: 'Primary signer email address' },
|
||||
signRequestId: { type: 'string', description: 'Sign request ID' },
|
||||
},
|
||||
|
||||
outputs: {
|
||||
@@ -371,5 +582,18 @@ export const BoxBlock: BlockConfig = {
|
||||
results: 'json',
|
||||
deleted: 'boolean',
|
||||
message: 'string',
|
||||
status: 'string',
|
||||
shortId: 'string',
|
||||
signers: 'json',
|
||||
sourceFiles: 'json',
|
||||
emailSubject: 'string',
|
||||
emailMessage: 'string',
|
||||
daysValid: 'number',
|
||||
autoExpireAt: 'string',
|
||||
prepareUrl: 'string',
|
||||
senderEmail: 'string',
|
||||
signRequests: 'json',
|
||||
count: 'number',
|
||||
nextMarker: 'string',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,292 +0,0 @@
|
||||
import { BoxCompanyIcon } from '@/components/icons'
|
||||
import { getScopesForService } from '@/lib/oauth/utils'
|
||||
import type { BlockConfig } from '@/blocks/types'
|
||||
import { AuthMode } from '@/blocks/types'
|
||||
|
||||
export const BoxSignBlock: BlockConfig = {
|
||||
type: 'box_sign',
|
||||
name: 'Box Sign',
|
||||
description:
|
||||
'Send documents for e-signature, check status, and manage sign requests with Box Sign',
|
||||
longDescription:
|
||||
'Integrate Box Sign into your workflow to send documents for e-signature. Create sign requests with multiple signers, track signing status, list all requests, cancel pending requests, and resend reminders. Ideal for offer letters, contracts, and other documents requiring signatures.',
|
||||
docsLink: 'https://docs.sim.ai/tools/box_sign',
|
||||
category: 'tools',
|
||||
bgColor: '#0061D5',
|
||||
icon: BoxCompanyIcon,
|
||||
authMode: AuthMode.OAuth,
|
||||
|
||||
subBlocks: [
|
||||
{
|
||||
id: 'operation',
|
||||
title: 'Operation',
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
{ label: 'Create Sign Request', id: 'create_request' },
|
||||
{ label: 'Get Sign Request', id: 'get_request' },
|
||||
{ label: 'List Sign Requests', id: 'list_requests' },
|
||||
{ label: 'Cancel Sign Request', id: 'cancel_request' },
|
||||
{ label: 'Resend Sign Request', id: 'resend_request' },
|
||||
],
|
||||
value: () => 'create_request',
|
||||
},
|
||||
{
|
||||
id: 'credential',
|
||||
title: 'Box Account',
|
||||
type: 'oauth-input',
|
||||
serviceId: 'box',
|
||||
requiredScopes: getScopesForService('box'),
|
||||
placeholder: 'Select Box account',
|
||||
required: true,
|
||||
},
|
||||
|
||||
// Create Sign Request fields
|
||||
{
|
||||
id: 'sourceFileIds',
|
||||
title: 'Source File IDs',
|
||||
type: 'short-input',
|
||||
placeholder: 'Comma-separated Box file IDs (e.g., 12345,67890)',
|
||||
required: { field: 'operation', value: 'create_request' },
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
},
|
||||
{
|
||||
id: 'signerEmail',
|
||||
title: 'Signer Email',
|
||||
type: 'short-input',
|
||||
placeholder: 'Primary signer email address',
|
||||
required: { field: 'operation', value: 'create_request' },
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
},
|
||||
{
|
||||
id: 'signerRole',
|
||||
title: 'Signer Role',
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
{ label: 'Signer', id: 'signer' },
|
||||
{ label: 'Approver', id: 'approver' },
|
||||
{ label: 'Final Copy Reader', id: 'final_copy_reader' },
|
||||
],
|
||||
value: () => 'signer',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
},
|
||||
{
|
||||
id: 'emailSubject',
|
||||
title: 'Email Subject',
|
||||
type: 'short-input',
|
||||
placeholder: 'Custom email subject line',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
},
|
||||
{
|
||||
id: 'emailMessage',
|
||||
title: 'Email Message',
|
||||
type: 'long-input',
|
||||
placeholder: 'Custom message in the signing email',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
},
|
||||
{
|
||||
id: 'name',
|
||||
title: 'Request Name',
|
||||
type: 'short-input',
|
||||
placeholder: 'Name for this sign request',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
},
|
||||
{
|
||||
id: 'additionalSigners',
|
||||
title: 'Additional Signers',
|
||||
type: 'long-input',
|
||||
placeholder: '[{"email":"user@example.com","role":"signer"}]',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'parentFolderId',
|
||||
title: 'Destination Folder ID',
|
||||
type: 'short-input',
|
||||
placeholder: 'Box folder ID for signed documents',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'daysValid',
|
||||
title: 'Days Valid',
|
||||
type: 'short-input',
|
||||
placeholder: 'Number of days before expiry (0-730)',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'areRemindersEnabled',
|
||||
title: 'Enable Reminders',
|
||||
type: 'switch',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'areTextSignaturesEnabled',
|
||||
title: 'Allow Text Signatures',
|
||||
type: 'switch',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'signatureColor',
|
||||
title: 'Signature Color',
|
||||
type: 'dropdown',
|
||||
options: [
|
||||
{ label: 'Blue', id: 'blue' },
|
||||
{ label: 'Black', id: 'black' },
|
||||
{ label: 'Red', id: 'red' },
|
||||
],
|
||||
value: () => 'blue',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'redirectUrl',
|
||||
title: 'Redirect URL',
|
||||
type: 'short-input',
|
||||
placeholder: 'URL to redirect after signing',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'declinedRedirectUrl',
|
||||
title: 'Declined Redirect URL',
|
||||
type: 'short-input',
|
||||
placeholder: 'URL to redirect after declining',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'isDocumentPreparationNeeded',
|
||||
title: 'Document Preparation Needed',
|
||||
type: 'switch',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'externalId',
|
||||
title: 'External ID',
|
||||
type: 'short-input',
|
||||
placeholder: 'External system reference ID',
|
||||
condition: { field: 'operation', value: 'create_request' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
|
||||
// Get / Cancel / Resend fields
|
||||
{
|
||||
id: 'signRequestId',
|
||||
title: 'Sign Request ID',
|
||||
type: 'short-input',
|
||||
placeholder: 'Box Sign request ID',
|
||||
required: { field: 'operation', value: ['get_request', 'cancel_request', 'resend_request'] },
|
||||
condition: {
|
||||
field: 'operation',
|
||||
value: ['get_request', 'cancel_request', 'resend_request'],
|
||||
},
|
||||
},
|
||||
|
||||
// List fields
|
||||
{
|
||||
id: 'limit',
|
||||
title: 'Limit',
|
||||
type: 'short-input',
|
||||
placeholder: 'Max results (default: 100, max: 1000)',
|
||||
condition: { field: 'operation', value: 'list_requests' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
{
|
||||
id: 'marker',
|
||||
title: 'Pagination Marker',
|
||||
type: 'short-input',
|
||||
placeholder: 'Marker from previous response',
|
||||
condition: { field: 'operation', value: 'list_requests' },
|
||||
mode: 'advanced',
|
||||
},
|
||||
],
|
||||
|
||||
tools: {
|
||||
access: [
|
||||
'box_sign_create_request',
|
||||
'box_sign_get_request',
|
||||
'box_sign_list_requests',
|
||||
'box_sign_cancel_request',
|
||||
'box_sign_resend_request',
|
||||
],
|
||||
config: {
|
||||
tool: (params) => `box_sign_${params.operation}`,
|
||||
params: (params) => {
|
||||
const { credential, operation, ...rest } = params
|
||||
|
||||
const baseParams: Record<string, unknown> = {
|
||||
accessToken: credential,
|
||||
}
|
||||
|
||||
switch (operation) {
|
||||
case 'create_request':
|
||||
baseParams.sourceFileIds = rest.sourceFileIds
|
||||
baseParams.signerEmail = rest.signerEmail
|
||||
if (rest.signerRole) baseParams.signerRole = rest.signerRole
|
||||
if (rest.additionalSigners) baseParams.additionalSigners = rest.additionalSigners
|
||||
if (rest.parentFolderId) baseParams.parentFolderId = rest.parentFolderId
|
||||
if (rest.emailSubject) baseParams.emailSubject = rest.emailSubject
|
||||
if (rest.emailMessage) baseParams.emailMessage = rest.emailMessage
|
||||
if (rest.name) baseParams.name = rest.name
|
||||
if (rest.daysValid) baseParams.daysValid = Number(rest.daysValid)
|
||||
if (rest.areRemindersEnabled !== undefined)
|
||||
baseParams.areRemindersEnabled = rest.areRemindersEnabled
|
||||
if (rest.areTextSignaturesEnabled !== undefined)
|
||||
baseParams.areTextSignaturesEnabled = rest.areTextSignaturesEnabled
|
||||
if (rest.signatureColor) baseParams.signatureColor = rest.signatureColor
|
||||
if (rest.redirectUrl) baseParams.redirectUrl = rest.redirectUrl
|
||||
if (rest.declinedRedirectUrl) baseParams.declinedRedirectUrl = rest.declinedRedirectUrl
|
||||
if (rest.isDocumentPreparationNeeded !== undefined)
|
||||
baseParams.isDocumentPreparationNeeded = rest.isDocumentPreparationNeeded
|
||||
if (rest.externalId) baseParams.externalId = rest.externalId
|
||||
break
|
||||
case 'get_request':
|
||||
case 'resend_request':
|
||||
baseParams.signRequestId = rest.signRequestId
|
||||
break
|
||||
case 'cancel_request':
|
||||
baseParams.signRequestId = rest.signRequestId
|
||||
break
|
||||
case 'list_requests':
|
||||
if (rest.limit) baseParams.limit = Number(rest.limit)
|
||||
if (rest.marker) baseParams.marker = rest.marker
|
||||
break
|
||||
}
|
||||
|
||||
return baseParams
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
inputs: {
|
||||
operation: { type: 'string', description: 'Operation to perform' },
|
||||
credential: { type: 'string', description: 'Box OAuth credential' },
|
||||
sourceFileIds: { type: 'string', description: 'Comma-separated Box file IDs' },
|
||||
signerEmail: { type: 'string', description: 'Primary signer email address' },
|
||||
signRequestId: { type: 'string', description: 'Sign request ID' },
|
||||
},
|
||||
|
||||
outputs: {
|
||||
id: 'string',
|
||||
status: 'string',
|
||||
name: 'string',
|
||||
shortId: 'string',
|
||||
signers: 'json',
|
||||
sourceFiles: 'json',
|
||||
emailSubject: 'string',
|
||||
emailMessage: 'string',
|
||||
daysValid: 'number',
|
||||
createdAt: 'string',
|
||||
autoExpireAt: 'string',
|
||||
prepareUrl: 'string',
|
||||
senderEmail: 'string',
|
||||
signRequests: 'json',
|
||||
count: 'number',
|
||||
nextMarker: 'string',
|
||||
message: 'string',
|
||||
},
|
||||
}
|
||||
@@ -14,7 +14,6 @@ import { AsanaBlock } from '@/blocks/blocks/asana'
|
||||
import { AshbyBlock } from '@/blocks/blocks/ashby'
|
||||
import { AttioBlock } from '@/blocks/blocks/attio'
|
||||
import { BoxBlock } from '@/blocks/blocks/box'
|
||||
import { BoxSignBlock } from '@/blocks/blocks/box_sign'
|
||||
import { BrandfetchBlock } from '@/blocks/blocks/brandfetch'
|
||||
import { BrowserUseBlock } from '@/blocks/blocks/browser_use'
|
||||
import { CalComBlock } from '@/blocks/blocks/calcom'
|
||||
@@ -219,7 +218,6 @@ export const registry: Record<string, BlockConfig> = {
|
||||
attio: AttioBlock,
|
||||
brandfetch: BrandfetchBlock,
|
||||
box: BoxBlock,
|
||||
box_sign: BoxSignBlock,
|
||||
browser_use: BrowserUseBlock,
|
||||
calcom: CalComBlock,
|
||||
calendly: CalendlyBlock,
|
||||
|
||||
Reference in New Issue
Block a user