mirror of
https://github.com/simstudioai/sim.git
synced 2026-01-09 15:07:55 -05:00
feat(tools): add generic mail sending block/tools, updated docs script (#1348)
* update infra and remove railway
* feat(tools): add generic mail sending block/tools, updated docs script
* Revert "update infra and remove railway"
This reverts commit abfa2f8d51.
* remove message id
* updated type
This commit is contained in:
@@ -57,7 +57,7 @@ In Sim, the Airtable integration enables your agents to interact with your Airta
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Airtable functionality to manage table records. List, get, create,
|
Integrates Airtable into the workflow. Can create, get, list, or update Airtable records. Requires OAuth. Can be used in trigger mode to trigger a workflow when an update is made to an Airtable table.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ In Sim, the ArXiv integration enables your agents to programmatically search, re
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Search for academic papers, retrieve metadata, download papers, and access the vast collection of scientific research on ArXiv.
|
Integrates ArXiv into the workflow. Can search for papers, get paper details, and get author papers. Does not require OAuth or an API key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ In Sim, the BrowserUse integration allows your agents to interact with the web a
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Execute browser automation tasks with BrowserUse to navigate the web, scrape data, and perform actions as if a real user was interacting with the browser. The task runs asynchronously and the block will poll for completion before returning results.
|
Integrate Browser Use into the workflow. Can navigate the web and perform actions as if a real user was interacting with the browser. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ In Sim, the Clay integration allows your agents to push structured data into Cla
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Populate Clay workbook with data using a JSON or plain text. Enables direct communication and notifications with channel confirmation.
|
Integrate Clay into the workflow. Can populate a table with data. Requires an API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ In Sim, the Confluence integration enables your agents to access and leverage yo
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect to Confluence workspaces to retrieve and search documentation. Access page content, metadata, and integrate Confluence documentation into your workflows.
|
Integrate Confluence into the workflow. Can read and update a page. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
<g>
|
<g>
|
||||||
<path
|
<path
|
||||||
d='M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z'
|
d='M216.856339,16.5966031 C200.285002,8.84328665 182.566144,3.2084988 164.041564,0 C161.766523,4.11318106 159.108624,9.64549908 157.276099,14.0464379 C137.583995,11.0849896 118.072967,11.0849896 98.7430163,14.0464379 C96.9108417,9.64549908 94.1925838,4.11318106 91.8971895,0 C73.3526068,3.2084988 55.6133949,8.86399117 39.0420583,16.6376612 C5.61752293,67.146514 -3.4433191,116.400813 1.08711069,164.955721 C23.2560196,181.510915 44.7403634,191.567697 65.8621325,198.148576 C71.0772151,190.971126 75.7283628,183.341335 79.7352139,175.300261 C72.104019,172.400575 64.7949724,168.822202 57.8887866,164.667963 C59.7209612,163.310589 61.5131304,161.891452 63.2445898,160.431257 C105.36741,180.133187 151.134928,180.133187 192.754523,160.431257 C194.506336,161.891452 196.298154,163.310589 198.110326,164.667963 C191.183787,168.842556 183.854737,172.420929 176.223542,175.320965 C180.230393,183.341335 184.861538,190.991831 190.096624,198.16893 C211.238746,191.588051 232.743023,181.531619 254.911949,164.955721 C260.227747,108.668201 245.831087,59.8662432 216.856339,16.5966031 Z M85.4738752,135.09489 C72.8290281,135.09489 62.4592217,123.290155 62.4592217,108.914901 C62.4592217,94.5396472 72.607595,82.7145587 85.4738752,82.7145587 C98.3405064,82.7145587 108.709962,94.5189427 108.488529,108.914901 C108.508531,123.290155 98.3405064,135.09489 85.4738752,135.09489 Z M170.525237,135.09489 C157.88039,135.09489 147.510584,123.290155 147.510584,108.914901 C147.510584,94.5396472 157.658606,82.7145587 170.525237,82.7145587 C183.391518,82.7145587 193.761324,94.5189427 193.539891,108.914901 C193.539891,123.290155 183.391518,135.09489 170.525237,135.09489 Z'
|
||||||
fill='#5865F2'
|
fill='currentColor'
|
||||||
fillRule='nonzero'
|
fillRule='nonzero'
|
||||||
/>
|
/>
|
||||||
</g>
|
</g>
|
||||||
@@ -57,7 +57,7 @@ Discord components in Sim use efficient lazy loading, only fetching data when ne
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect to Discord to send messages, manage channels, and interact with servers. Automate notifications, community management, and integrate Discord into your workflows.
|
Integrate Discord into the workflow. Can send and get messages, get server information, and get a user’s information. Requires bot API key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ In Sim, the ElevenLabs integration enables your agents to convert text to lifeli
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Generate realistic speech from text using ElevenLabs voices.
|
Integrate ElevenLabs into the workflow. Can convert text to speech. Requires API key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ In Sim, the Exa integration allows your agents to search the web for information
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Search the web, retrieve content, find similar links, and answer questions using Exa's powerful AI search capabilities.
|
Integrate Exa into the workflow. Can search, get contents, find similar links, answer a question, and perform research. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ The File Parser tool is particularly useful for scenarios where your agents need
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Upload and extract contents from structured file formats including PDFs, CSV spreadsheets, and Word documents (DOCX). You can either provide a URL to a file or upload files directly. Specialized parsers extract text and metadata from each format. You can upload multiple files at once and access them individually or as a combined document.
|
Integrate File into the workflow. Can upload a file manually or insert a file url.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ This allows your agents to gather information from websites, extract structured
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Extract content from any website with advanced web scraping or search the web for information. Retrieve clean, structured data from web pages with options to focus on main content, or intelligently search for information across the web.
|
Integrate Firecrawl into the workflow. Can search, scrape, or crawl websites. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
title: Webhook
|
title: Webhook
|
||||||
description: Receive webhooks from any service
|
description: Receive webhooks from any service by configuring a custom webhook.
|
||||||
---
|
---
|
||||||
|
|
||||||
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ In Sim, the GitHub integration enables your agents to interact directly with Git
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Access GitHub repositories, pull requests, and comments through the GitHub API. Automate code reviews, PR management, and repository interactions within your workflow. Trigger workflows from GitHub events like push, pull requests, and issues.
|
Integrate Github into the workflow. Can get get PR details, create PR comment, get repository info, and get latest commit. Requires github token API Key. Can be used in trigger mode to trigger a workflow when a PR is created, commented on, or a commit is pushed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ In Sim, the Gmail integration enables your agents to send, read, and search emai
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Comprehensive Gmail integration with OAuth authentication. Send email messages, read email content, and trigger workflows from Gmail events like new emails and label changes.
|
Integrate Gmail into the workflow. Can send, read, and search emails. Requires OAuth. Can be used in trigger mode to trigger a workflow when a new email is received.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ In Sim, the Google Calendar integration enables your agents to programmatically
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Calendar functionality to create, read, update, and list calendar events within your workflow. Automate scheduling, check availability, and manage events using OAuth authentication. Email invitations are sent asynchronously and delivery depends on recipients' Google Calendar settings.
|
Integrate Google Calendar into the workflow. Can create, read, update, and list calendar events. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ In Sim, the Google Docs integration enables your agents to interact directly wit
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Docs functionality to manage documents. Read content from existing documents, write to documents, and create new documents using OAuth authentication. Supports text content manipulation for document creation and editing.
|
Integrate Google Docs into the workflow. Can read, write, and create documents. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ In Sim, the Google Drive integration enables your agents to interact directly wi
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Drive functionality to manage files and folders. Upload new files, get content from existing files, create new folders, and list contents of folders using OAuth authentication. Supports file operations with custom MIME types and folder organization.
|
Integrate Google Drive into the workflow. Can create, upload, and list files. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ In Sim, the Google Search integration enables your agents to search the web prog
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Searches the web using the Google Custom Search API, which provides high-quality search results from the entire internet or a specific site defined by a custom search engine ID.
|
Integrate Google Search into the workflow. Can search the web. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ In Sim, the Google Sheets integration enables your agents to interact directly w
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Google Sheets functionality to manage spreadsheet data. Read data from specific ranges, write new data, update existing cells, and append data to the end of sheets using OAuth authentication. Supports various input and output formats for flexible data handling.
|
Integrate Google Sheets into the workflow. Can read, write, append, and update data. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ In Sim, the HuggingFace integration enables your agents to programmatically gene
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Generate completions using Hugging Face Inference API with access to various open-source models. Leverage cutting-edge AI models for chat completions, content generation, and AI-powered conversations with customizable parameters.
|
Integrate Hugging Face into the workflow. Can generate completions using the Hugging Face Inference API. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ In Sim, the Hunter.io integration enables your agents to programmatically search
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Search for email addresses, verify their deliverability, discover companies, and enrich contact data using Hunter.io's powerful email finding capabilities.
|
Integrate Hunter into the workflow. Can search domains, find email addresses, verify email addresses, discover companies, find companies, and count email addresses. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ In Sim, the DALL-E integration enables your agents to generate images programmat
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Create high-quality images using OpenAI's image generation models. Configure resolution, quality, style, and other parameters to get exactly the image you need.
|
Integrate Image Generator into the workflow. Can generate images using DALL-E 3 or GPT Image. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ This integration is particularly valuable for building agents that need to gathe
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Transform web content into clean, readable text using Jina AI's advanced extraction capabilities. Extract meaningful content from websites while preserving important information and optionally gathering links.
|
Integrate Jina into the workflow. Extracts content from websites. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ In Sim, the Jira integration allows your agents to seamlessly interact with your
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect to Jira workspaces to read, write, and update issues. Access content, metadata, and integrate Jira documentation into your workflows.
|
Integrate Jira into the workflow. Can read, write, and update issues. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ In Sim, the Knowledge Base block enables your agents to perform intelligent sema
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Perform semantic vector search across knowledge bases, upload individual chunks to existing documents, or create new documents from text content. Uses advanced AI embeddings to understand meaning and context for search operations.
|
Integrate Knowledge into the workflow. Can search, upload chunks, and create documents.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -10,11 +10,8 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
color="#5E6AD2"
|
color="#5E6AD2"
|
||||||
icon={true}
|
icon={true}
|
||||||
iconSvg={`<svg className="block-icon"
|
iconSvg={`<svg className="block-icon"
|
||||||
|
|
||||||
xmlns='http://www.w3.org/2000/svg'
|
xmlns='http://www.w3.org/2000/svg'
|
||||||
fill='currentColor'
|
fill='currentColor'
|
||||||
|
|
||||||
|
|
||||||
viewBox='0 0 100 100'
|
viewBox='0 0 100 100'
|
||||||
>
|
>
|
||||||
<path
|
<path
|
||||||
@@ -42,7 +39,7 @@ In Sim, the Linear integration allows your agents to seamlessly interact with yo
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate with Linear to fetch, filter, and create issues directly from your workflow.
|
Integrate Linear into the workflow. Can read and create issues. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ To implement Linkup in your agent, simply add the tool to your agent's configura
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Linkup Search allows you to search and retrieve up-to-date information from the web with source attribution.
|
Integrate Linkup into the workflow. Can search the web. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
64
apps/docs/content/docs/en/tools/mail.mdx
Normal file
64
apps/docs/content/docs/en/tools/mail.mdx
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
---
|
||||||
|
title: Mail
|
||||||
|
description: Send emails using the internal mail service
|
||||||
|
---
|
||||||
|
|
||||||
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|
||||||
|
<BlockInfoCard
|
||||||
|
type="mail"
|
||||||
|
color="#FF6B35"
|
||||||
|
icon={true}
|
||||||
|
iconSvg={`<svg className="block-icon"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
viewBox='0 0 30 24'
|
||||||
|
fill='none'
|
||||||
|
xmlns='http://www.w3.org/2000/svg'
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d='M2.35742 5.83288L11.7674 12.1071C13.0656 12.9712 13.7141 13.404 14.4151 13.5725C15.0352 13.7208 15.681 13.7208 16.2998 13.5725C17.0008 13.404 17.6492 12.9712 18.9475 12.1071L28.3574 5.83288M8.82844 21.7219H21.8864C24.1513 21.7219 25.2837 21.7219 26.1492 21.2811C26.9097 20.8931 27.5278 20.2744 27.9152 19.5137C28.3574 18.6482 28.3574 17.5158 28.3574 15.2509V7.97102C28.3574 5.70616 28.3574 4.57373 27.9166 3.70823C27.5288 2.94727 26.9102 2.32858 26.1492 1.94084C25.2837 1.5 24.1513 1.5 21.8864 1.5H8.82844C6.56358 1.5 5.43115 1.5 4.56566 1.94084C3.80519 2.32881 3.187 2.94747 2.79961 3.70823C2.35742 4.57373 2.35742 5.70616 2.35742 7.97102V15.2509C2.35742 17.5158 2.35742 18.6482 2.79826 19.5137C3.186 20.2747 3.80469 20.8933 4.56566 21.2811C5.43115 21.7219 6.56358 21.7219 8.82844 21.7219Z'
|
||||||
|
stroke='currentColor'
|
||||||
|
strokeWidth='2.5'
|
||||||
|
strokeLinecap='round'
|
||||||
|
strokeLinejoin='round'
|
||||||
|
/>
|
||||||
|
</svg>`}
|
||||||
|
/>
|
||||||
|
|
||||||
|
## Usage Instructions
|
||||||
|
|
||||||
|
Send emails directly using the internal mail service. Uses MAIL_BLOCK_FROM_ADDRESS if configured, otherwise falls back to FROM_EMAIL_ADDRESS. No external configuration or OAuth required. Perfect for sending notifications, alerts, or general purpose emails from your workflows. Supports HTML formatting.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
### `mail_send`
|
||||||
|
|
||||||
|
Send an email using the internal mail service without requiring OAuth or external configuration
|
||||||
|
|
||||||
|
#### Input
|
||||||
|
|
||||||
|
| Parameter | Type | Required | Description |
|
||||||
|
| --------- | ---- | -------- | ----------- |
|
||||||
|
| `to` | string | Yes | Recipient email address |
|
||||||
|
| `subject` | string | Yes | Email subject |
|
||||||
|
| `body` | string | Yes | Email body content |
|
||||||
|
|
||||||
|
#### Output
|
||||||
|
|
||||||
|
| Parameter | Type | Description |
|
||||||
|
| --------- | ---- | ----------- |
|
||||||
|
| `success` | boolean | Whether the email was sent successfully |
|
||||||
|
| `to` | string | Recipient email address |
|
||||||
|
| `subject` | string | Email subject |
|
||||||
|
| `body` | string | Email body content |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Category: `tools`
|
||||||
|
- Type: `mail`
|
||||||
40
apps/docs/content/docs/en/tools/mcp.mdx
Normal file
40
apps/docs/content/docs/en/tools/mcp.mdx
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
---
|
||||||
|
title: MCP Tool
|
||||||
|
description: Execute tools from Model Context Protocol (MCP) servers
|
||||||
|
---
|
||||||
|
|
||||||
|
import { BlockInfoCard } from "@/components/ui/block-info-card"
|
||||||
|
|
||||||
|
<BlockInfoCard
|
||||||
|
type="mcp"
|
||||||
|
color="#181C1E"
|
||||||
|
icon={true}
|
||||||
|
iconSvg={`<svg className="block-icon"
|
||||||
|
|
||||||
|
xmlns='http://www.w3.org/2000/svg'
|
||||||
|
viewBox='0 0 24 24'
|
||||||
|
fill='none'
|
||||||
|
stroke='currentColor'
|
||||||
|
strokeWidth='2'
|
||||||
|
strokeLinecap='round'
|
||||||
|
strokeLinejoin='round'
|
||||||
|
>
|
||||||
|
<rect x='2' y='2' rx='2' ry='2' />
|
||||||
|
<rect x='2' y='14' rx='2' ry='2' />
|
||||||
|
<line x1='6' x2='6.01' y1='6' y2='6' />
|
||||||
|
<line x1='6' x2='6.01' y1='18' y2='18' />
|
||||||
|
</svg>`}
|
||||||
|
/>
|
||||||
|
|
||||||
|
## Usage Instructions
|
||||||
|
|
||||||
|
Integrate MCP into the workflow. Can execute tools from MCP servers. Requires MCP servers in workspace settings.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Category: `tools`
|
||||||
|
- Type: `mcp`
|
||||||
@@ -44,7 +44,7 @@ In Sim, the Mem0 integration enables your agents to maintain persistent memory a
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Add, search, retrieve, and delete memories using Mem0. Store conversation history, user preferences, and context across workflow executions for enhanced AI agent capabilities.
|
Integrate Mem0 into the workflow. Can add, search, and retrieve memories. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Create persistent storage for data that needs to be accessed across multiple workflow steps. Store and retrieve information throughout your workflow execution to maintain context and state.
|
Integrate Memory into the workflow. Can add, get a memory, get all memories, and delete memories.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
72
apps/docs/content/docs/en/tools/meta.json
Normal file
72
apps/docs/content/docs/en/tools/meta.json
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"items": [
|
||||||
|
"index",
|
||||||
|
"airtable",
|
||||||
|
"arxiv",
|
||||||
|
"browser_use",
|
||||||
|
"clay",
|
||||||
|
"confluence",
|
||||||
|
"discord",
|
||||||
|
"elevenlabs",
|
||||||
|
"exa",
|
||||||
|
"file",
|
||||||
|
"firecrawl",
|
||||||
|
"generic_webhook",
|
||||||
|
"github",
|
||||||
|
"gmail",
|
||||||
|
"google_calendar",
|
||||||
|
"google_docs",
|
||||||
|
"google_drive",
|
||||||
|
"google_search",
|
||||||
|
"google_sheets",
|
||||||
|
"huggingface",
|
||||||
|
"hunter",
|
||||||
|
"image_generator",
|
||||||
|
"jina",
|
||||||
|
"jira",
|
||||||
|
"knowledge",
|
||||||
|
"linear",
|
||||||
|
"linkup",
|
||||||
|
"mail",
|
||||||
|
"mcp",
|
||||||
|
"mem0",
|
||||||
|
"memory",
|
||||||
|
"microsoft_excel",
|
||||||
|
"microsoft_planner",
|
||||||
|
"microsoft_teams",
|
||||||
|
"mistral_parse",
|
||||||
|
"mongodb",
|
||||||
|
"mysql",
|
||||||
|
"notion",
|
||||||
|
"onedrive",
|
||||||
|
"openai",
|
||||||
|
"outlook",
|
||||||
|
"parallel_ai",
|
||||||
|
"perplexity",
|
||||||
|
"pinecone",
|
||||||
|
"postgresql",
|
||||||
|
"qdrant",
|
||||||
|
"reddit",
|
||||||
|
"s3",
|
||||||
|
"schedule",
|
||||||
|
"serper",
|
||||||
|
"sharepoint",
|
||||||
|
"slack",
|
||||||
|
"stagehand",
|
||||||
|
"stagehand_agent",
|
||||||
|
"supabase",
|
||||||
|
"tavily",
|
||||||
|
"telegram",
|
||||||
|
"thinking",
|
||||||
|
"translate",
|
||||||
|
"twilio_sms",
|
||||||
|
"typeform",
|
||||||
|
"vision",
|
||||||
|
"wealthbox",
|
||||||
|
"webhook",
|
||||||
|
"whatsapp",
|
||||||
|
"wikipedia",
|
||||||
|
"x",
|
||||||
|
"youtube"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -94,7 +94,7 @@ In Sim, the Microsoft Excel integration provides seamless access to spreadsheet
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Microsoft Excel functionality to manage spreadsheet data. Read data from specific ranges, write new data, update existing cells, and manipulate table data using OAuth authentication. Supports various input and output formats for flexible data handling.
|
Integrate Microsoft Excel into the workflow. Can read, write, update, and add to table. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ In Sim, the Microsoft Planner integration allows your agents to programmatically
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Microsoft Planner functionality to manage tasks. Read all user tasks, tasks from specific plans, individual tasks, or create new tasks with various properties like title, description, due date, and assignees using OAuth authentication.
|
Integrate Microsoft Planner into the workflow. Can read and create tasks. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ In Sim, the Microsoft Teams integration enables your agents to interact directly
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Microsoft Teams functionality to manage messages. Read content from existing messages and write to messages using OAuth authentication. Supports text content manipulation for message creation and editing.
|
Integrate Microsoft Teams into the workflow. Can read and write chat messages, and read and write channel messages. Requires OAuth. Can be used in trigger mode to trigger a workflow when a message is sent to a chat or channel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ The Mistral Parse tool is particularly useful for scenarios where your agents ne
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Extract text and structure from PDF documents using Mistral's OCR API. Either enter a URL to a PDF document or upload a PDF file directly. Configure processing options and get the content in your preferred format. For URLs, they must be publicly accessible and point to a valid PDF file. Note: Google Drive, Dropbox, and other cloud storage links are not supported; use a direct download URL from a web server instead.
|
Integrate Mistral Parse into the workflow. Can extract text from uploaded PDF documents, or from a URL. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect to any MongoDB database to execute queries, manage data, and perform database operations. Supports find, insert, update, delete, and aggregation operations with secure connection handling.
|
Integrate MongoDB into the workflow. Can find, insert, update, delete, and aggregate data.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ The MySQL tool is ideal for scenarios where your agents need to interact with st
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect to any MySQL database to execute queries, manage data, and perform database operations. Supports SELECT, INSERT, UPDATE, DELETE operations with secure connection handling.
|
Integrate MySQL into the workflow. Can query, insert, update, delete, and execute raw SQL.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ This integration bridges the gap between your AI workflows and your knowledge ba
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate with Notion to read content from pages, write new content, and create new pages.
|
Integrate with Notion into the workflow. Can read page, read database, create page, create database, append content, query database, and search workspace. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ In Sim, the OneDrive integration enables your agents to directly interact with y
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate OneDrive functionality to manage files and folders. Upload new files, create new folders, and list contents of folders using OAuth authentication. Supports file operations with custom MIME types and folder organization.
|
Integrate OneDrive into the workflow. Can create, upload, and list files. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ In Sim, the OpenAI integration enables your agents to leverage these powerful AI
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Convert text into numerical vector representations using OpenAI's embedding models. Transform text data into embeddings for semantic search, clustering, and other vector-based operations.
|
Integrate Embeddings into the workflow. Can generate embeddings from text. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ In Sim, the Microsoft Outlook integration enables your agents to interact direct
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Outlook functionality to read, draft, andsend email messages within your workflow. Automate email communications and process email content using OAuth authentication.
|
Integrate Outlook into the workflow. Can read, draft, and send email messages. Requires OAuth. Can be used in trigger mode to trigger a workflow when a new email is received.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ In Sim, the Parallel AI integration empowers your agents to perform web searches
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Search the web using Parallel AI's advanced search capabilities. Get comprehensive results with intelligent processing and content extraction.
|
Integrate Parallel AI into the workflow. Can search the web. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ In Sim, the Perplexity integration enables your agents to leverage these powerfu
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Generate completions using Perplexity AI models with real-time knowledge and search capabilities. Create responses, answer questions, and generate content with customizable parameters.
|
Integrate Perplexity into the workflow. Can generate completions using Perplexity AI chat models. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ In Sim, the Pinecone integration enables your agents to leverage vector search c
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Store, search, and retrieve vector embeddings using Pinecone's specialized vector database. Generate embeddings from text and perform semantic similarity searches with customizable filtering options.
|
Integrate Pinecone into the workflow. Can generate embeddings, upsert text, search with text, fetch vectors, and search with vectors. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ The PostgreSQL tool is ideal for scenarios where your agents need to interact wi
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect to any PostgreSQL database to execute queries, manage data, and perform database operations. Supports SELECT, INSERT, UPDATE, DELETE operations with secure connection handling.
|
Integrate PostgreSQL into the workflow. Can query, insert, update, delete, and execute raw SQL.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ This integration allows your agents to leverage powerful vector search and manag
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Store, search, and retrieve vector embeddings using Qdrant. Perform semantic similarity searches and manage your vector collections.
|
Integrate Qdrant into the workflow. Can upsert, search, and fetch points. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ These operations let your agents access and analyze Reddit content as part of yo
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Access Reddit data to retrieve posts and comments from any subreddit. Get post titles, content, authors, scores, comments and more.
|
Integrate Reddit into the workflow. Can get posts and comments from a subreddit. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ In Sim, the S3 integration enables your agents to retrieve and access files stor
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Retrieve and view files from Amazon S3 buckets using presigned URLs.
|
Integrate S3 into the workflow. Can get presigned URLs for S3 objects. Requires access key and secret access key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Configure automated workflow execution with flexible timing options. Set up recurring workflows that run at specific intervals or times.
|
Integrate Schedule into the workflow. Can trigger a workflow on a schedule configuration.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ In Sim, the Serper integration enables your agents to leverage the power of web
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Access real-time web search results with Serper's Google Search API integration. Retrieve structured search data including web pages, news, images, and places with customizable language and region settings.
|
Integrate Serper into the workflow. Can search the web. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ In Sim, the SharePoint integration empowers your agents to create and access Sha
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Sharepoint functionality to manage pages. Read and create pages, and list sites using OAuth authentication. Supports page operations with custom MIME types and folder organization.
|
Integrate Sharepoint into the workflow. Can read and create pages, and list sites. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ This allows for powerful automation scenarios such as sending notifications, ale
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Comprehensive Slack integration with OAuth authentication. Send formatted messages using Slack's mrkdwn syntax or trigger workflows from Slack events like mentions and messages.
|
Integrate Slack into the workflow. Can send messages, create canvases, and read messages. Requires OAuth. Can be used in trigger mode to trigger a workflow when a message is sent to a channel.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ In Sim, the Stagehand integration enables your agents to extract structured data
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Use Stagehand to extract structured data from webpages using Browserbase and OpenAI.
|
Integrate Stagehand into the workflow. Can extract structured data from webpages. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ In Sim, the Stagehand integration enables your agents to seamlessly interact wit
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Use Stagehand to create an autonomous web browsing agent that can navigate across websites, perform tasks, and return structured data.
|
Integrate Stagehand Agent into the workflow. Can navigate the web and perform tasks. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ Whether you’re building internal tools, automating business processes, or powe
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate with Supabase to manage your database, authentication, storage, and more. Query data, manage users, and interact with Supabase services directly.
|
Integrate Supabase into the workflow. Can get many rows, get, create, update, delete, and upsert a row.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ In Sim, the Tavily integration enables your agents to search the web and extract
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Access Tavily's AI-powered search engine to find relevant information from across the web. Extract and process content from specific URLs with customizable depth options.
|
Integrate Tavily into the workflow. Can search the web and extract content from specific URLs. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ In Sim, the Telegram integration enables your agents to leverage these powerful
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Send messages to any Telegram channel using your Bot API key or trigger workflows from Telegram bot messages. Integrate automated notifications and alerts into your workflow to keep your team informed.
|
Integrate Telegram into the workflow. Can send messages. Can be used in trigger mode to trigger a workflow when a message is sent to a chat.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ With Translate, you can:
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Convert text between languages while preserving meaning, nuance, and formatting. Utilize powerful language models to produce natural, fluent translations with appropriate cultural adaptations.
|
Integrate Translate into the workflow. Can translate text to any language.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ In Sim, the Twilio SMS integration enables your agents to leverage these powerfu
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Send text messages to single or multiple recipients using the Twilio API.
|
Integrate Twilio into the workflow. Can send SMS messages.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ In Sim, the Typeform integration enables your agents to programmatically interac
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Access and retrieve responses from your Typeform forms. Integrate form submissions data into your workflow for analysis, storage, or processing.
|
Integrate Typeform into the workflow. Can retrieve responses, download files, and get form insights. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ In Sim, the Vision integration enables your agents to analyze images with vision
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Process visual content with customizable prompts to extract insights and information from images.
|
Integrate Vision into the workflow. Can analyze images with vision models. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ In Sim, the Wealthbox integration enables your agents to seamlessly interact wit
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Integrate Wealthbox functionality to manage notes, contacts, and tasks. Read content from existing notes, contacts, and tasks and write to them using OAuth authentication. Supports text content manipulation for note creation and editing.
|
Integrate Wealthbox into the workflow. Can read and write notes, read and write contacts, and read and write tasks. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ In Sim, the WhatsApp integration enables your agents to leverage these messaging
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Send messages to WhatsApp users using the WhatsApp Business API. Requires WhatsApp Business API configuration.
|
Integrate WhatsApp into the workflow. Can send messages.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ In Sim, the Wikipedia integration enables your agents to programmatically access
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Access Wikipedia articles, search for pages, get summaries, retrieve full content, and discover random articles from the world's largest encyclopedia.
|
Integrate Wikipedia into the workflow. Can get page summary, search pages, get page content, and get random page.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ import { BlockInfoCard } from "@/components/ui/block-info-card"
|
|||||||
<path
|
<path
|
||||||
d='M 5.9199219 6 L 20.582031 27.375 L 6.2304688 44 L 9.4101562 44 L 21.986328 29.421875 L 31.986328 44 L 44 44 L 28.681641 21.669922 L 42.199219 6 L 39.029297 6 L 27.275391 19.617188 L 17.933594 6 L 5.9199219 6 z M 9.7167969 8 L 16.880859 8 L 40.203125 42 L 33.039062 42 L 9.7167969 8 z'
|
d='M 5.9199219 6 L 20.582031 27.375 L 6.2304688 44 L 9.4101562 44 L 21.986328 29.421875 L 31.986328 44 L 44 44 L 28.681641 21.669922 L 42.199219 6 L 39.029297 6 L 27.275391 19.617188 L 17.933594 6 L 5.9199219 6 z M 9.7167969 8 L 16.880859 8 L 40.203125 42 L 33.039062 42 L 9.7167969 8 z'
|
||||||
fill='currentColor'
|
fill='currentColor'
|
||||||
|
stroke='currentColor'
|
||||||
|
strokeWidth='0.5'
|
||||||
/>
|
/>
|
||||||
</svg>`}
|
</svg>`}
|
||||||
/>
|
/>
|
||||||
@@ -36,7 +38,7 @@ In Sim, the X integration enables sophisticated social media automation scenario
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Connect with X to post tweets, read content, search for information, and access user profiles. Integrate social media capabilities into your workflow with comprehensive X platform access.
|
Integrate X into the workflow. Can post a new tweet, get tweet details, search tweets, and get user profile. Requires OAuth.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ In Sim, the YouTube integration enables your agents to programmatically search a
|
|||||||
|
|
||||||
## Usage Instructions
|
## Usage Instructions
|
||||||
|
|
||||||
Find relevant videos on YouTube using the YouTube Data API. Search for content with customizable result limits and retrieve structured video metadata for integration into your workflow.
|
Integrate YouTube into the workflow. Can search for videos. Requires API Key.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
94
apps/sim/app/api/tools/mail/send/route.ts
Normal file
94
apps/sim/app/api/tools/mail/send/route.ts
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
import { type NextRequest, NextResponse } from 'next/server'
|
||||||
|
import { z } from 'zod'
|
||||||
|
import { checkHybridAuth } from '@/lib/auth/hybrid'
|
||||||
|
import { type EmailOptions, sendEmail } from '@/lib/email/mailer'
|
||||||
|
import { env } from '@/lib/env'
|
||||||
|
import { createLogger } from '@/lib/logs/console/logger'
|
||||||
|
import { generateRequestId } from '@/lib/utils'
|
||||||
|
|
||||||
|
export const dynamic = 'force-dynamic'
|
||||||
|
|
||||||
|
const logger = createLogger('MailSendAPI')
|
||||||
|
|
||||||
|
const MailSendSchema = z.object({
|
||||||
|
to: z.string().email('Invalid email address').min(1, 'To email is required'),
|
||||||
|
subject: z.string().min(1, 'Subject is required'),
|
||||||
|
body: z.string().min(1, 'Email body is required'),
|
||||||
|
})
|
||||||
|
|
||||||
|
export async function POST(request: NextRequest) {
|
||||||
|
const requestId = generateRequestId()
|
||||||
|
|
||||||
|
try {
|
||||||
|
const authResult = await checkHybridAuth(request, { requireWorkflowId: false })
|
||||||
|
|
||||||
|
if (!authResult.success) {
|
||||||
|
logger.warn(`[${requestId}] Unauthorized mail send attempt: ${authResult.error}`)
|
||||||
|
return NextResponse.json(
|
||||||
|
{
|
||||||
|
success: false,
|
||||||
|
message: authResult.error || 'Authentication required',
|
||||||
|
},
|
||||||
|
{ status: 401 }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info(`[${requestId}] Authenticated mail request via ${authResult.authType}`, {
|
||||||
|
userId: authResult.userId,
|
||||||
|
})
|
||||||
|
|
||||||
|
const body = await request.json()
|
||||||
|
const validatedData = MailSendSchema.parse(body)
|
||||||
|
|
||||||
|
const fromAddress = env.MAIL_BLOCK_FROM_ADDRESS || env.FROM_EMAIL_ADDRESS || 'system default'
|
||||||
|
|
||||||
|
logger.info(`[${requestId}] Sending email via internal mail API`, {
|
||||||
|
to: validatedData.to,
|
||||||
|
subject: validatedData.subject,
|
||||||
|
bodyLength: validatedData.body.length,
|
||||||
|
from: fromAddress,
|
||||||
|
})
|
||||||
|
|
||||||
|
const emailOptions: EmailOptions = {
|
||||||
|
to: validatedData.to,
|
||||||
|
subject: validatedData.subject,
|
||||||
|
html: validatedData.body,
|
||||||
|
text: validatedData.body.replace(/<[^>]*>/g, ''),
|
||||||
|
from: fromAddress, // Use the determined FROM address
|
||||||
|
emailType: 'transactional',
|
||||||
|
includeUnsubscribe: false,
|
||||||
|
}
|
||||||
|
|
||||||
|
const result = await sendEmail(emailOptions)
|
||||||
|
|
||||||
|
logger.info(`[${requestId}] Email send result`, {
|
||||||
|
success: result.success,
|
||||||
|
message: result.message,
|
||||||
|
})
|
||||||
|
|
||||||
|
return NextResponse.json(result)
|
||||||
|
} catch (error) {
|
||||||
|
if (error instanceof z.ZodError) {
|
||||||
|
logger.warn(`[${requestId}] Invalid request data`, { errors: error.errors })
|
||||||
|
return NextResponse.json(
|
||||||
|
{
|
||||||
|
success: false,
|
||||||
|
message: 'Invalid request data',
|
||||||
|
errors: error.errors,
|
||||||
|
},
|
||||||
|
{ status: 400 }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.error(`[${requestId}] Error sending email via API:`, error)
|
||||||
|
|
||||||
|
return NextResponse.json(
|
||||||
|
{
|
||||||
|
success: false,
|
||||||
|
message: 'Internal server error while sending email',
|
||||||
|
data: {},
|
||||||
|
},
|
||||||
|
{ status: 500 }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
66
apps/sim/blocks/blocks/mail.ts
Normal file
66
apps/sim/blocks/blocks/mail.ts
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
import { MailIcon } from '@/components/icons'
|
||||||
|
import type { BlockConfig } from '@/blocks/types'
|
||||||
|
import type { MailSendResult } from '@/tools/mail/types'
|
||||||
|
|
||||||
|
export const MailBlock: BlockConfig<MailSendResult> = {
|
||||||
|
type: 'mail',
|
||||||
|
name: 'Mail',
|
||||||
|
description: 'Send emails using the internal mail service',
|
||||||
|
longDescription:
|
||||||
|
'Send emails directly using the internal mail service. Uses MAIL_BLOCK_FROM_ADDRESS if configured, otherwise falls back to FROM_EMAIL_ADDRESS. No external configuration or OAuth required. Perfect for sending notifications, alerts, or general purpose emails from your workflows. Supports HTML formatting.',
|
||||||
|
category: 'tools',
|
||||||
|
bgColor: '#FF6B35',
|
||||||
|
icon: MailIcon,
|
||||||
|
|
||||||
|
subBlocks: [
|
||||||
|
{
|
||||||
|
id: 'to',
|
||||||
|
title: 'To',
|
||||||
|
type: 'short-input',
|
||||||
|
layout: 'full',
|
||||||
|
placeholder: 'recipient@example.com',
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'subject',
|
||||||
|
title: 'Subject',
|
||||||
|
type: 'short-input',
|
||||||
|
layout: 'full',
|
||||||
|
placeholder: 'Email subject',
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'body',
|
||||||
|
title: 'Body',
|
||||||
|
type: 'long-input',
|
||||||
|
layout: 'full',
|
||||||
|
placeholder: 'Email body content (HTML supported)',
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
tools: {
|
||||||
|
access: ['mail_send'],
|
||||||
|
config: {
|
||||||
|
tool: () => 'mail_send',
|
||||||
|
params: (params) => ({
|
||||||
|
to: params.to,
|
||||||
|
subject: params.subject,
|
||||||
|
body: params.body,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
inputs: {
|
||||||
|
to: { type: 'string', description: 'Recipient email address' },
|
||||||
|
subject: { type: 'string', description: 'Email subject' },
|
||||||
|
body: { type: 'string', description: 'Email body content' },
|
||||||
|
},
|
||||||
|
|
||||||
|
outputs: {
|
||||||
|
success: { type: 'boolean', description: 'Whether the email was sent successfully' },
|
||||||
|
to: { type: 'string', description: 'Recipient email address' },
|
||||||
|
subject: { type: 'string', description: 'Email subject' },
|
||||||
|
body: { type: 'string', description: 'Email body content' },
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -34,6 +34,7 @@ import { JiraBlock } from '@/blocks/blocks/jira'
|
|||||||
import { KnowledgeBlock } from '@/blocks/blocks/knowledge'
|
import { KnowledgeBlock } from '@/blocks/blocks/knowledge'
|
||||||
import { LinearBlock } from '@/blocks/blocks/linear'
|
import { LinearBlock } from '@/blocks/blocks/linear'
|
||||||
import { LinkupBlock } from '@/blocks/blocks/linkup'
|
import { LinkupBlock } from '@/blocks/blocks/linkup'
|
||||||
|
import { MailBlock } from '@/blocks/blocks/mail'
|
||||||
import { McpBlock } from '@/blocks/blocks/mcp'
|
import { McpBlock } from '@/blocks/blocks/mcp'
|
||||||
import { Mem0Block } from '@/blocks/blocks/mem0'
|
import { Mem0Block } from '@/blocks/blocks/mem0'
|
||||||
import { MemoryBlock } from '@/blocks/blocks/memory'
|
import { MemoryBlock } from '@/blocks/blocks/memory'
|
||||||
@@ -113,6 +114,7 @@ export const registry: Record<string, BlockConfig> = {
|
|||||||
knowledge: KnowledgeBlock,
|
knowledge: KnowledgeBlock,
|
||||||
linear: LinearBlock,
|
linear: LinearBlock,
|
||||||
linkup: LinkupBlock,
|
linkup: LinkupBlock,
|
||||||
|
mail: MailBlock,
|
||||||
mcp: McpBlock,
|
mcp: McpBlock,
|
||||||
mem0: Mem0Block,
|
mem0: Mem0Block,
|
||||||
microsoft_excel: MicrosoftExcelBlock,
|
microsoft_excel: MicrosoftExcelBlock,
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ export const env = createEnv({
|
|||||||
RESEND_API_KEY: z.string().min(1).optional(), // Resend API key for transactional emails
|
RESEND_API_KEY: z.string().min(1).optional(), // Resend API key for transactional emails
|
||||||
FROM_EMAIL_ADDRESS: z.string().min(1).optional(), // Complete from address (e.g., "Sim <noreply@domain.com>" or "noreply@domain.com")
|
FROM_EMAIL_ADDRESS: z.string().min(1).optional(), // Complete from address (e.g., "Sim <noreply@domain.com>" or "noreply@domain.com")
|
||||||
EMAIL_DOMAIN: z.string().min(1).optional(), // Domain for sending emails (fallback when FROM_EMAIL_ADDRESS not set)
|
EMAIL_DOMAIN: z.string().min(1).optional(), // Domain for sending emails (fallback when FROM_EMAIL_ADDRESS not set)
|
||||||
|
MAIL_BLOCK_FROM_ADDRESS: z.string().min(1).optional(), // Custom from address for mail block tool (e.g., "Bot <bot@domain.com>")
|
||||||
AZURE_ACS_CONNECTION_STRING: z.string().optional(), // Azure Communication Services connection string
|
AZURE_ACS_CONNECTION_STRING: z.string().optional(), // Azure Communication Services connection string
|
||||||
|
|
||||||
// AI/LLM Provider API Keys
|
// AI/LLM Provider API Keys
|
||||||
|
|||||||
3
apps/sim/tools/mail/index.ts
Normal file
3
apps/sim/tools/mail/index.ts
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
import { mailSendTool } from '@/tools/mail/send'
|
||||||
|
|
||||||
|
export { mailSendTool }
|
||||||
65
apps/sim/tools/mail/send.ts
Normal file
65
apps/sim/tools/mail/send.ts
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
import type { MailSendParams, MailSendResult } from '@/tools/mail/types'
|
||||||
|
import type { ToolConfig } from '@/tools/types'
|
||||||
|
|
||||||
|
export const mailSendTool: ToolConfig<MailSendParams, MailSendResult> = {
|
||||||
|
id: 'mail_send',
|
||||||
|
name: 'Send Email',
|
||||||
|
description:
|
||||||
|
'Send an email using the internal mail service without requiring OAuth or external configuration',
|
||||||
|
version: '1.0.0',
|
||||||
|
|
||||||
|
params: {
|
||||||
|
to: {
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
visibility: 'user-or-llm',
|
||||||
|
description: 'Recipient email address',
|
||||||
|
},
|
||||||
|
subject: {
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
visibility: 'user-or-llm',
|
||||||
|
description: 'Email subject',
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
type: 'string',
|
||||||
|
required: true,
|
||||||
|
visibility: 'user-or-llm',
|
||||||
|
description: 'Email body content',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
request: {
|
||||||
|
url: '/api/tools/mail/send',
|
||||||
|
method: 'POST',
|
||||||
|
headers: () => ({
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
}),
|
||||||
|
body: (params: MailSendParams) => ({
|
||||||
|
to: params.to,
|
||||||
|
subject: params.subject,
|
||||||
|
body: params.body,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
|
||||||
|
transformResponse: async (response: Response, params): Promise<MailSendResult> => {
|
||||||
|
const result = await response.json()
|
||||||
|
|
||||||
|
return {
|
||||||
|
success: true,
|
||||||
|
output: {
|
||||||
|
success: result.success,
|
||||||
|
to: params?.to || '',
|
||||||
|
subject: params?.subject || '',
|
||||||
|
body: params?.body || '',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
outputs: {
|
||||||
|
success: { type: 'boolean', description: 'Whether the email was sent successfully' },
|
||||||
|
to: { type: 'string', description: 'Recipient email address' },
|
||||||
|
subject: { type: 'string', description: 'Email subject' },
|
||||||
|
body: { type: 'string', description: 'Email body content' },
|
||||||
|
},
|
||||||
|
}
|
||||||
16
apps/sim/tools/mail/types.ts
Normal file
16
apps/sim/tools/mail/types.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import type { ToolResponse } from '@/tools/types'
|
||||||
|
|
||||||
|
export interface MailSendParams {
|
||||||
|
to: string
|
||||||
|
subject: string
|
||||||
|
body: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MailSendResult extends ToolResponse {
|
||||||
|
output: {
|
||||||
|
success: boolean
|
||||||
|
to: string
|
||||||
|
subject: string
|
||||||
|
body: string
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -73,6 +73,7 @@ import {
|
|||||||
} from '@/tools/knowledge'
|
} from '@/tools/knowledge'
|
||||||
import { linearCreateIssueTool, linearReadIssuesTool } from '@/tools/linear'
|
import { linearCreateIssueTool, linearReadIssuesTool } from '@/tools/linear'
|
||||||
import { linkupSearchTool } from '@/tools/linkup'
|
import { linkupSearchTool } from '@/tools/linkup'
|
||||||
|
import { mailSendTool } from '@/tools/mail'
|
||||||
import { mem0AddMemoriesTool, mem0GetMemoriesTool, mem0SearchMemoriesTool } from '@/tools/mem0'
|
import { mem0AddMemoriesTool, mem0GetMemoriesTool, mem0SearchMemoriesTool } from '@/tools/mem0'
|
||||||
import { memoryAddTool, memoryDeleteTool, memoryGetAllTool, memoryGetTool } from '@/tools/memory'
|
import { memoryAddTool, memoryDeleteTool, memoryGetAllTool, memoryGetTool } from '@/tools/memory'
|
||||||
import {
|
import {
|
||||||
@@ -201,6 +202,7 @@ export const tools: Record<string, ToolConfig> = {
|
|||||||
google_search: googleSearchTool,
|
google_search: googleSearchTool,
|
||||||
jina_read_url: readUrlTool,
|
jina_read_url: readUrlTool,
|
||||||
linkup_search: linkupSearchTool,
|
linkup_search: linkupSearchTool,
|
||||||
|
mail_send: mailSendTool,
|
||||||
jira_retrieve: jiraRetrieveTool,
|
jira_retrieve: jiraRetrieveTool,
|
||||||
jira_update: jiraUpdateTool,
|
jira_update: jiraUpdateTool,
|
||||||
jira_write: jiraWriteTool,
|
jira_write: jiraWriteTool,
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
"": {
|
"": {
|
||||||
"name": "sim-doc-generator",
|
"name": "sim-doc-generator",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "^24.1.0",
|
"@types/node": "^24.5.1",
|
||||||
"@types/react": "^19.1.8",
|
"@types/react": "^19.1.13",
|
||||||
"glob": "^11.0.3",
|
"glob": "^11.0.3",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"tsx": "^4.20.3",
|
"tsx": "^4.20.5",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.9.2",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -86,9 +86,9 @@
|
|||||||
|
|
||||||
"@tsconfig/node16": ["@tsconfig/node16@1.0.4", "", {}, "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="],
|
"@tsconfig/node16": ["@tsconfig/node16@1.0.4", "", {}, "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="],
|
||||||
|
|
||||||
"@types/node": ["@types/node@24.1.0", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w=="],
|
"@types/node": ["@types/node@24.5.1", "", { "dependencies": { "undici-types": "~7.12.0" } }, "sha512-/SQdmUP2xa+1rdx7VwB9yPq8PaKej8TD5cQ+XfKDPWWC+VDJU4rvVVagXqKUzhKjtFoNA8rXDJAkCxQPAe00+Q=="],
|
||||||
|
|
||||||
"@types/react": ["@types/react@19.1.8", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g=="],
|
"@types/react": ["@types/react@19.1.13", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ=="],
|
||||||
|
|
||||||
"acorn": ["acorn@8.14.1", "", { "bin": "bin/acorn" }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="],
|
"acorn": ["acorn@8.14.1", "", { "bin": "bin/acorn" }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="],
|
||||||
|
|
||||||
@@ -164,11 +164,11 @@
|
|||||||
|
|
||||||
"ts-node": ["ts-node@10.9.2", "", { "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", "@tsconfig/node16": "^1.0.2", "acorn": "^8.4.1", "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "peerDependencies": { "@swc/core": ">=1.2.50", "@swc/wasm": ">=1.2.50", "@types/node": "*", "typescript": ">=2.7" }, "optionalPeers": ["@swc/core", "@swc/wasm"], "bin": { "ts-node": "dist/bin.js", "ts-node-cwd": "dist/bin-cwd.js", "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js", "ts-script": "dist/bin-script-deprecated.js" } }, "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="],
|
"ts-node": ["ts-node@10.9.2", "", { "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", "@tsconfig/node16": "^1.0.2", "acorn": "^8.4.1", "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "peerDependencies": { "@swc/core": ">=1.2.50", "@swc/wasm": ">=1.2.50", "@types/node": "*", "typescript": ">=2.7" }, "optionalPeers": ["@swc/core", "@swc/wasm"], "bin": { "ts-node": "dist/bin.js", "ts-node-cwd": "dist/bin-cwd.js", "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js", "ts-script": "dist/bin-script-deprecated.js" } }, "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="],
|
||||||
|
|
||||||
"tsx": ["tsx@4.20.3", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ=="],
|
"tsx": ["tsx@4.20.5", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-+wKjMNU9w/EaQayHXb7WA7ZaHY6hN8WgfvHNQ3t1PnU91/7O8TcTnIhCDYTZwnt8JsO9IBqZ30Ln1r7pPF52Aw=="],
|
||||||
|
|
||||||
"typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
|
"typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="],
|
||||||
|
|
||||||
"undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="],
|
"undici-types": ["undici-types@7.12.0", "", {}, "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ=="],
|
||||||
|
|
||||||
"v8-compile-cache-lib": ["v8-compile-cache-lib@3.0.1", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="],
|
"v8-compile-cache-lib": ["v8-compile-cache-lib@3.0.1", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="],
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ const rootDir = path.resolve(__dirname, '..')
|
|||||||
|
|
||||||
// Paths configuration
|
// Paths configuration
|
||||||
const BLOCKS_PATH = path.join(rootDir, 'apps/sim/blocks/blocks')
|
const BLOCKS_PATH = path.join(rootDir, 'apps/sim/blocks/blocks')
|
||||||
const DOCS_OUTPUT_PATH = path.join(rootDir, 'apps/docs/content/docs/tools')
|
const DOCS_OUTPUT_PATH = path.join(rootDir, 'apps/docs/content/docs/en/tools')
|
||||||
const ICONS_PATH = path.join(rootDir, 'apps/sim/components/icons.tsx')
|
const ICONS_PATH = path.join(rootDir, 'apps/sim/components/icons.tsx')
|
||||||
|
|
||||||
// Make sure the output directory exists
|
// Make sure the output directory exists
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
"description": "Documentation generator for Sim blocks",
|
"description": "Documentation generator for Sim blocks",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"devDependencies": {
|
"dependencies": {
|
||||||
"@types/node": "^22.15.17",
|
"@types/node": "^24.5.1",
|
||||||
"@types/react": "^19.1.3",
|
"@types/react": "^19.1.13",
|
||||||
"glob": "^11.0.2",
|
"glob": "^11.0.3",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"tsx": "^4.19.4",
|
"tsx": "^4.20.5",
|
||||||
"typescript": "^5.8.3"
|
"typescript": "^5.9.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user