Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions apps/sim/blocks/blocks/agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { AgentIcon } from '@/components/icons'
import { isHosted } from '@/lib/environment'
import { createLogger } from '@/lib/logs/console/logger'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import {
getAllModelProviders,
getBaseModelProviders,
Expand Down Expand Up @@ -61,6 +62,7 @@ export const AgentBlock: BlockConfig<AgentResponse> = {
type: 'agent',
name: 'Agent',
description: 'Build an agent',
authMode: AuthMode.ApiKey,
longDescription:
'The Agent block is a core workflow block that is a wrapper around an LLM. It takes in system/user prompts and calls an LLM provider. It can also make tool calls by directly containing tools inside of its tool input. It can additionally return structured output.',
docsLink: 'https://docs.sim.ai/blocks/agent',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/airtable.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { AirtableIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { AirtableResponse } from '@/tools/airtable/types'

export const AirtableBlock: BlockConfig<AirtableResponse> = {
type: 'airtable',
name: 'Airtable',
description: 'Read, create, and update Airtable',
authMode: AuthMode.OAuth,
longDescription:
'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.',
'Integrates Airtable into the workflow. Can create, get, list, or update Airtable records. Can be used in trigger mode to trigger a workflow when an update is made to an Airtable table.',
docsLink: 'https://docs.sim.ai/tools/airtable',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/browser_use.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { BrowserUseIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode, type BlockConfig } from '@/blocks/types'
import type { BrowserUseResponse } from '@/tools/browser_use/types'

export const BrowserUseBlock: BlockConfig<BrowserUseResponse> = {
type: 'browser_use',
name: 'Browser Use',
description: 'Run browser automation tasks',
authMode: AuthMode.ApiKey,
longDescription:
'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.',
'Integrate Browser Use into the workflow. Can navigate the web and perform actions as if a real user was interacting with the browser.',
docsLink: 'https://docs.sim.ai/tools/browser_use',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
6 changes: 3 additions & 3 deletions apps/sim/blocks/blocks/clay.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { ClayIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode, type BlockConfig } from '@/blocks/types'
import type { ClayPopulateResponse } from '@/tools/clay/types'

export const ClayBlock: BlockConfig<ClayPopulateResponse> = {
type: 'clay',
name: 'Clay',
description: 'Populate Clay workbook',
longDescription:
'Integrate Clay into the workflow. Can populate a table with data. Requires an API Key.',
authMode: AuthMode.ApiKey,
longDescription: 'Integrate Clay into the workflow. Can populate a table with data.',
docsLink: 'https://docs.sim.ai/tools/clay',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/confluence.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { ConfluenceIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { ConfluenceResponse } from '@/tools/confluence/types'

export const ConfluenceBlock: BlockConfig<ConfluenceResponse> = {
type: 'confluence',
name: 'Confluence',
description: 'Interact with Confluence',
longDescription:
'Integrate Confluence into the workflow. Can read and update a page. Requires OAuth.',
authMode: AuthMode.OAuth,
longDescription: 'Integrate Confluence into the workflow. Can read and update a page.',
docsLink: 'https://docs.sim.ai/tools/confluence',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/discord.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { DiscordIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { DiscordResponse } from '@/tools/discord/types'

export const DiscordBlock: BlockConfig<DiscordResponse> = {
type: 'discord',
name: 'Discord',
description: 'Interact with Discord',
authMode: AuthMode.BotToken,
longDescription:
'Integrate Discord into the workflow. Can send and get messages, get server information, and get a user’s information. Requires bot API key.',
'Integrate Discord into the workflow. Can send and get messages, get server information, and get a user’s information.',
category: 'tools',
bgColor: '#E0E0E0',
icon: DiscordIcon,
Expand Down
6 changes: 3 additions & 3 deletions apps/sim/blocks/blocks/elevenlabs.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { ElevenLabsIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode, type BlockConfig } from '@/blocks/types'
import type { ElevenLabsBlockResponse } from '@/tools/elevenlabs/types'

export const ElevenLabsBlock: BlockConfig<ElevenLabsBlockResponse> = {
type: 'elevenlabs',
name: 'ElevenLabs',
description: 'Convert TTS using ElevenLabs',
longDescription:
'Integrate ElevenLabs into the workflow. Can convert text to speech. Requires API key.',
authMode: AuthMode.ApiKey,
longDescription: 'Integrate ElevenLabs into the workflow. Can convert text to speech.',
docsLink: 'https://docs.sim.ai/tools/elevenlabs',
category: 'tools',
bgColor: '#181C1E',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/exa.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { ExaAIIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { ExaResponse } from '@/tools/exa/types'

export const ExaBlock: BlockConfig<ExaResponse> = {
type: 'exa',
name: 'Exa',
description: 'Search with Exa AI',
authMode: AuthMode.ApiKey,
longDescription:
'Integrate Exa into the workflow. Can search, get contents, find similar links, answer a question, and perform research. Requires API Key.',
'Integrate Exa into the workflow. Can search, get contents, find similar links, answer a question, and perform research.',
docsLink: 'https://docs.sim.ai/tools/exa',
category: 'tools',
bgColor: '#1F40ED',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/firecrawl.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { FirecrawlIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { FirecrawlResponse } from '@/tools/firecrawl/types'

export const FirecrawlBlock: BlockConfig<FirecrawlResponse> = {
type: 'firecrawl',
name: 'Firecrawl',
description: 'Scrape or search the web',
longDescription:
'Integrate Firecrawl into the workflow. Can search, scrape, or crawl websites. Requires API Key.',
authMode: AuthMode.ApiKey,
longDescription: 'Integrate Firecrawl into the workflow. Can search, scrape, or crawl websites.',
docsLink: 'https://docs.sim.ai/tools/firecrawl',
category: 'tools',
bgColor: '#181C1E',
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/generic_webhook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export const GenericWebhookBlock: BlockConfig = {
category: 'triggers',
icon: WebhookIcon,
bgColor: '#10B981', // Green color for triggers
triggerAllowed: true,

subBlocks: [
// Generic webhook configuration - always visible
Expand Down
5 changes: 4 additions & 1 deletion apps/sim/blocks/blocks/github.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
import { GithubIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GitHubResponse } from '@/tools/github/types'

export const GitHubBlock: BlockConfig<GitHubResponse> = {
type: 'github',
name: 'GitHub',
description: 'Interact with GitHub or trigger workflows from GitHub events',
authMode: AuthMode.ApiKey,
longDescription:
'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.',
'Integrate Github into the workflow. Can get get PR details, create PR comment, get repository info, and get latest commit. Can be used in trigger mode to trigger a workflow when a PR is created, commented on, or a commit is pushed.',
docsLink: 'https://docs.sim.ai/tools/github',
category: 'tools',
bgColor: '#181C1E',
icon: GithubIcon,
triggerAllowed: true,
subBlocks: [
{
id: 'operation',
Expand Down
5 changes: 4 additions & 1 deletion apps/sim/blocks/blocks/gmail.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
import { GmailIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GmailToolResponse } from '@/tools/gmail/types'

export const GmailBlock: BlockConfig<GmailToolResponse> = {
type: 'gmail',
name: 'Gmail',
description: 'Send Gmail or trigger workflows from Gmail events',
authMode: AuthMode.OAuth,
longDescription:
'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.',
'Integrate Gmail into the workflow. Can send, read, and search emails. Can be used in trigger mode to trigger a workflow when a new email is received.',
docsLink: 'https://docs.sim.ai/tools/gmail',
category: 'tools',
bgColor: '#E0E0E0',
icon: GmailIcon,
triggerAllowed: true,
subBlocks: [
// Operation selector
{
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/google.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { GoogleIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GoogleSearchResponse } from '@/tools/google/types'

export const GoogleSearchBlock: BlockConfig<GoogleSearchResponse> = {
type: 'google_search',
name: 'Google Search',
description: 'Search the web',
longDescription:
'Integrate Google Search into the workflow. Can search the web. Requires API Key.',
authMode: AuthMode.ApiKey,
longDescription: 'Integrate Google Search into the workflow. Can search the web.',
docsLink: 'https://docs.sim.ai/tools/google_search',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/google_calendar.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { GoogleCalendarIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GoogleCalendarResponse } from '@/tools/google_calendar/types'

export const GoogleCalendarBlock: BlockConfig<GoogleCalendarResponse> = {
type: 'google_calendar',
name: 'Google Calendar',
description: 'Manage Google Calendar events',
authMode: AuthMode.OAuth,
longDescription:
'Integrate Google Calendar into the workflow. Can create, read, update, and list calendar events. Requires OAuth.',
'Integrate Google Calendar into the workflow. Can create, read, update, and list calendar events.',
docsLink: 'https://docs.sim.ai/tools/google_calendar',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/google_docs.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { GoogleDocsIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GoogleDocsResponse } from '@/tools/google_docs/types'

export const GoogleDocsBlock: BlockConfig<GoogleDocsResponse> = {
type: 'google_docs',
name: 'Google Docs',
description: 'Read, write, and create documents',
authMode: AuthMode.OAuth,
longDescription:
'Integrate Google Docs into the workflow. Can read, write, and create documents. Requires OAuth.',
'Integrate Google Docs into the workflow. Can read, write, and create documents.',
docsLink: 'https://docs.sim.ai/tools/google_docs',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/google_drive.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { GoogleDriveIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GoogleDriveResponse } from '@/tools/google_drive/types'

export const GoogleDriveBlock: BlockConfig<GoogleDriveResponse> = {
type: 'google_drive',
name: 'Google Drive',
description: 'Create, upload, and list files',
longDescription:
'Integrate Google Drive into the workflow. Can create, upload, and list files. Requires OAuth.',
authMode: AuthMode.OAuth,
longDescription: 'Integrate Google Drive into the workflow. Can create, upload, and list files.',
docsLink: 'https://docs.sim.ai/tools/google_drive',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/google_sheets.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { GoogleSheetsIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { GoogleSheetsResponse } from '@/tools/google_sheets/types'

export const GoogleSheetsBlock: BlockConfig<GoogleSheetsResponse> = {
type: 'google_sheets',
name: 'Google Sheets',
description: 'Read, write, and update data',
authMode: AuthMode.OAuth,
longDescription:
'Integrate Google Sheets into the workflow. Can read, write, append, and update data. Requires OAuth.',
'Integrate Google Sheets into the workflow. Can read, write, append, and update data.',
docsLink: 'https://docs.sim.ai/tools/google_sheets',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
4 changes: 3 additions & 1 deletion apps/sim/blocks/blocks/huggingface.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import { HuggingFaceIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { HuggingFaceChatResponse } from '@/tools/huggingface/types'

export const HuggingFaceBlock: BlockConfig<HuggingFaceChatResponse> = {
type: 'huggingface',
name: 'Hugging Face',
description: 'Use Hugging Face Inference API',
authMode: AuthMode.ApiKey,
longDescription:
'Integrate Hugging Face into the workflow. Can generate completions using the Hugging Face Inference API. Requires API Key.',
'Integrate Hugging Face into the workflow. Can generate completions using the Hugging Face Inference API.',
docsLink: 'https://docs.sim.ai/tools/huggingface',
category: 'tools',
bgColor: '#0B0F19',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/hunter.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { HunterIOIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode, type BlockConfig } from '@/blocks/types'
import type { HunterResponse } from '@/tools/hunter/types'

export const HunterBlock: BlockConfig<HunterResponse> = {
type: 'hunter',
name: 'Hunter io',
description: 'Find and verify professional email addresses',
authMode: AuthMode.ApiKey,
longDescription:
'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.',
'Integrate Hunter into the workflow. Can search domains, find email addresses, verify email addresses, discover companies, find companies, and count email addresses.',
docsLink: 'https://docs.sim.ai/tools/hunter',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/image_generator.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { ImageIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode, type BlockConfig } from '@/blocks/types'
import type { DalleResponse } from '@/tools/openai/types'

export const ImageGeneratorBlock: BlockConfig<DalleResponse> = {
type: 'image_generator',
name: 'Image Generator',
description: 'Generate images',
authMode: AuthMode.ApiKey,
longDescription:
'Integrate Image Generator into the workflow. Can generate images using DALL-E 3 or GPT Image. Requires API Key.',
'Integrate Image Generator into the workflow. Can generate images using DALL-E 3 or GPT Image.',
docsLink: 'https://docs.sim.ai/tools/image_generator',
category: 'tools',
bgColor: '#4D5FFF',
Expand Down
6 changes: 3 additions & 3 deletions apps/sim/blocks/blocks/jina.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { JinaAIIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode, type BlockConfig } from '@/blocks/types'
import type { ReadUrlResponse } from '@/tools/jina/types'

export const JinaBlock: BlockConfig<ReadUrlResponse> = {
type: 'jina',
name: 'Jina',
description: 'Convert website content into text',
longDescription:
'Integrate Jina into the workflow. Extracts content from websites. Requires API Key.',
authMode: AuthMode.ApiKey,
longDescription: 'Integrate Jina into the workflow. Extracts content from websites.',
docsLink: 'https://docs.sim.ai/tools/jina',
category: 'tools',
bgColor: '#333333',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/jira.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import { JiraIcon } from '@/components/icons'
import type { BlockConfig } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { JiraResponse } from '@/tools/jira/types'

export const JiraBlock: BlockConfig<JiraResponse> = {
type: 'jira',
name: 'Jira',
description: 'Interact with Jira',
longDescription:
'Integrate Jira into the workflow. Can read, write, and update issues. Requires OAuth.',
authMode: AuthMode.OAuth,
longDescription: 'Integrate Jira into the workflow. Can read, write, and update issues.',
docsLink: 'https://docs.sim.ai/tools/jira',
category: 'tools',
bgColor: '#E0E0E0',
Expand Down
5 changes: 3 additions & 2 deletions apps/sim/blocks/blocks/linear.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { LinearIcon } from '@/components/icons'
import type { BlockConfig, BlockIcon } from '@/blocks/types'
import { AuthMode } from '@/blocks/types'
import type { LinearResponse } from '@/tools/linear/types'

const LinearBlockIcon: BlockIcon = (props) => LinearIcon(props as any)
Expand All @@ -8,8 +9,8 @@ export const LinearBlock: BlockConfig<LinearResponse> = {
type: 'linear',
name: 'Linear',
description: 'Read and create issues in Linear',
longDescription:
'Integrate Linear into the workflow. Can read and create issues. Requires OAuth.',
authMode: AuthMode.OAuth,
longDescription: 'Integrate Linear into the workflow. Can read and create issues.',
category: 'tools',
icon: LinearBlockIcon,
bgColor: '#5E6AD2',
Expand Down
Loading