Skip to content
Merged
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
3 changes: 3 additions & 0 deletions .agents/skills/add-block/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,7 @@ import type { BlockConfig, BlockMeta } from '@/blocks/types'

export const {Service}BlockMeta = {
tags: ['messaging', 'automation'], // Same tags as the block's tags field
url: 'https://{service}.com', // Canonical homepage of the external service
templates: [ // Optional but strongly encouraged
{
icon: {Service}Icon,
Expand All @@ -666,6 +667,7 @@ export const {Service}BlockMeta = {

- **Import `BlockMeta`** from `@/blocks/types` alongside `BlockConfig`
- **`tags`** must match the `tags` array on the block config exactly
- **`url`** is the canonical homepage of the external service the block integrates with (e.g. `'https://exa.ai'`, `'https://salesforce.com'`) — the catalog "link back to the tool". It is distinct from `BlockConfig.docsLink`, which points at Sim's own integration docs on `docs.sim.ai`. Use the service's real root domain over `https` (verify it actually resolves), no tracking params, no trailing slash. Omit `url` only for first-party/built-in blocks that have no external service (e.g. `agent`, `function`, `condition`, `api`, `response`)
- **Templates are optional** but should be added for any integration that has a recognizable use case — aim for 2–4 templates per block
- **Template `prompt`** should start with "Build a workflow that..." or "Create a workflow that..." and be concrete enough to generate a real workflow in Mothership
- **Template `modules`** lists the Sim modules the template relies on: `'knowledge-base' | 'tables' | 'files' | 'workflows' | 'scheduled' | 'agent'`
Expand Down Expand Up @@ -906,6 +908,7 @@ All tool IDs referenced in `tools.access` and returned by `tools.config.tool` MU
- [ ] Outputs match tool outputs
- [ ] Block registered in `registry.ts` blocks object (alphabetically)
- [ ] `{Service}BlockMeta` exported at bottom of block file with `tags` and `templates`
- [ ] `url` set on `{Service}BlockMeta` to the external service's verified homepage (omit only for first-party blocks with no external service)
- [ ] `skills` added to `{Service}BlockMeta`, each grounded in the block's `tools.access` and derived from a real online-sourced use case (not invented)
- [ ] `BlockMeta` imported from `@/blocks/types` alongside `BlockConfig`
- [ ] Block meta registered in `registry.ts` blocksMeta object (alphabetically)
Expand Down
2 changes: 2 additions & 0 deletions .claude/commands/add-block.md
Original file line number Diff line number Diff line change
Expand Up @@ -794,6 +794,7 @@ import type { BlockMeta } from '@/blocks/types'

export const {Service}BlockMeta = {
tags: ['tag1', 'tag2'], // IntegrationTag[]
url: 'https://{service}.com', // external service homepage (verify it resolves) — NOT docs.sim.ai
templates: [
{
icon: {Service}Icon,
Expand Down Expand Up @@ -845,6 +846,7 @@ Derive templates from the service's real use cases. Each prompt should name a co
- [ ] Optional/rarely-used fields set to `mode: 'advanced'`
- [ ] Timestamps and complex inputs have `wandConfig` enabled
- [ ] Exported `{Service}BlockMeta` with at least 7 templates
- [ ] `url` set on `{Service}BlockMeta` to the external service's verified homepage (omit only for first-party blocks with no external service)
- [ ] `skills` added to `{Service}BlockMeta`, each grounded in `tools.access` and sourced from a real online use case (not invented)

## Final Validation (Required)
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/agentmail.ts
Original file line number Diff line number Diff line change
Expand Up @@ -623,6 +623,7 @@ export const AgentMailBlock: BlockConfig = {

export const AgentMailBlockMeta = {
tags: ['messaging', 'automation'],
url: 'https://agentmail.to',
templates: [
{
icon: AgentMailIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/agentphone.ts
Original file line number Diff line number Diff line change
Expand Up @@ -752,6 +752,7 @@ export const AgentPhoneBlock: BlockConfig = {

export const AgentPhoneBlockMeta = {
tags: ['messaging', 'automation'],
url: 'https://agentphone.ai',
templates: [
{
icon: AgentPhoneIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/agiloft.ts
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,7 @@ export const AgiloftBlock: BlockConfig = {

export const AgiloftBlockMeta = {
tags: ['automation'],
url: 'https://www.agiloft.com',
Comment thread
waleedlatif1 marked this conversation as resolved.
templates: [
{
icon: AgiloftIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/ahrefs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -575,6 +575,7 @@ Return ONLY the date string in YYYY-MM-DD format - no explanations, no quotes, n

export const AhrefsBlockMeta = {
tags: ['seo', 'marketing', 'data-analytics'],
url: 'https://ahrefs.com',
templates: [
{
icon: AhrefsIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/airtable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,7 @@ Return ONLY the valid JSON object - no explanations, no markdown.`,

export const AirtableBlockMeta = {
tags: ['spreadsheet', 'automation'],
url: 'https://www.airtable.com',
templates: [
{
icon: AirtableIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/airweave.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ export const AirweaveBlock: BlockConfig<AirweaveSearchResponse> = {

export const AirweaveBlockMeta = {
tags: ['vector-search', 'knowledge-base'],
url: 'https://airweave.ai',
templates: [
{
icon: AirweaveIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/algolia.ts
Original file line number Diff line number Diff line change
Expand Up @@ -649,6 +649,7 @@ Return ONLY the JSON array.`,

export const AlgoliaBlockMeta = {
tags: ['vector-search', 'knowledge-base'],
url: 'https://www.algolia.com',
templates: [
{
icon: AlgoliaIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/amplitude.ts
Original file line number Diff line number Diff line change
Expand Up @@ -748,6 +748,7 @@ export const AmplitudeBlock: BlockConfig = {

export const AmplitudeBlockMeta = {
tags: ['data-analytics', 'marketing'],
url: 'https://amplitude.com',
templates: [
{
icon: AmplitudeIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/apify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ Return ONLY the valid JSON object - no explanations, no markdown.`,

export const ApifyBlockMeta = {
tags: ['web-scraping', 'automation', 'data-analytics'],
url: 'https://apify.com',
templates: [
{
icon: ApifyIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/apollo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1375,6 +1375,7 @@ Return ONLY the timestamp string in ISO 8601 format - no explanations, no quotes

export const ApolloBlockMeta = {
tags: ['enrichment', 'sales-engagement'],
url: 'https://www.apollo.io',
templates: [
{
icon: Users,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/appconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,7 @@ export const AppConfigBlock: BlockConfig<

export const AppConfigBlockMeta = {
tags: ['cloud', 'feature-flags', 'automation'],
url: 'https://aws.amazon.com/systems-manager/features/appconfig',
templates: [
{
icon: AppConfigIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/arxiv.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ export const ArxivBlock: BlockConfig<ArxivResponse> = {

export const ArxivBlockMeta = {
tags: ['document-processing', 'knowledge-base'],
url: 'https://arxiv.org',
templates: [
{
icon: ArxivIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/asana.ts
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,7 @@ Return ONLY the date string in YYYY-MM-DD format - no explanations, no quotes, n

export const AsanaBlockMeta = {
tags: ['project-management', 'ticketing', 'automation'],
url: 'https://asana.com',
templates: [
{
icon: AsanaIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/ashby.ts
Original file line number Diff line number Diff line change
Expand Up @@ -970,6 +970,7 @@ Output only the ISO 8601 timestamp string, nothing else.`,

export const AshbyBlockMeta = {
tags: ['hiring'],
url: 'https://ashbyhq.com',
templates: [
{
icon: AshbyIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/athena.ts
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,7 @@ Return ONLY the SQL query — no explanations, no markdown code blocks.`,

export const AthenaBlockMeta = {
tags: ['cloud', 'data-analytics'],
url: 'https://aws.amazon.com/athena',
templates: [
{
icon: AthenaIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/attio.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1327,6 +1327,7 @@ workspace-member.created

export const AttioBlockMeta = {
tags: ['sales-engagement', 'enrichment'],
url: 'https://attio.com',
templates: [
{
icon: AttioIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/azure_devops.ts
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,7 @@ export const AzureDevOpsBlock: BlockConfig<AzureDevOpsResponse> = {

export const AzureDevOpsBlockMeta = {
tags: ['version-control', 'ci-cd', 'project-management'],
url: 'https://azure.microsoft.com/products/devops',
templates: [
{
icon: AzureIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/box.ts
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,7 @@ export const BoxBlock: BlockConfig = {

export const BoxBlockMeta = {
tags: ['cloud', 'content-management', 'e-signatures'],
url: 'https://www.box.com',
templates: [
{
icon: BoxCompanyIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/brandfetch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ export const BrandfetchBlock: BlockConfig<BrandfetchGetBrandResponse | Brandfetc

export const BrandfetchBlockMeta = {
tags: ['enrichment', 'marketing'],
url: 'https://brandfetch.com',
templates: [
{
icon: BrandfetchIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/brex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,7 @@ export const BrexBlock: BlockConfig<BrexResponse> = {

export const BrexBlockMeta = {
tags: ['payments'],
url: 'https://www.brex.com',
templates: [
{
icon: BrexIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/brightdata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ export const BrightDataBlock: BlockConfig<BrightDataResponse> = {

export const BrightDataBlockMeta = {
tags: ['web-scraping', 'automation'],
url: 'https://brightdata.com',
templates: [
{
icon: BrightDataIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/browser_use.ts
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,7 @@ export const BrowserUseBlock: BlockConfig<BrowserUseResponse> = {

export const BrowserUseBlockMeta = {
tags: ['web-scraping', 'automation', 'agentic'],
url: 'https://browser-use.com',
templates: [
{
icon: BrowserUseIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/calcom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -920,6 +920,7 @@ Return ONLY valid JSON - no explanations.`,

export const CalComBlockMeta = {
tags: ['scheduling', 'calendar', 'meeting'],
url: 'https://cal.com',
templates: [
{
icon: CalComIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/calendly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ Return ONLY the timestamp string in ISO 8601 format - no explanations, no quotes

export const CalendlyBlockMeta = {
tags: ['scheduling', 'calendar', 'meeting'],
url: 'https://calendly.com',
templates: [
{
icon: CalendlyIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/circleback.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export const CirclebackBlock: BlockConfig = {

export const CirclebackBlockMeta = {
tags: ['meeting', 'note-taking'],
url: 'https://circleback.ai',
templates: [
{
icon: CirclebackIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/clay.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ Plain Text: Best for populating a table in free-form style.

export const ClayBlockMeta = {
tags: ['enrichment', 'sales-engagement', 'data-analytics'],
url: 'https://www.clay.com',
templates: [
{
icon: ClayIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/clerk.ts
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,7 @@ export const ClerkBlock: BlockConfig<ClerkResponse> = {

export const ClerkBlockMeta = {
tags: ['identity', 'automation'],
url: 'https://clerk.com',
templates: [
{
icon: ClerkIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/clickhouse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -467,6 +467,7 @@ export const ClickHouseBlock: BlockConfig<ClickHouseResponse> = {

export const ClickHouseBlockMeta = {
tags: ['data-warehouse', 'data-analytics'],
url: 'https://clickhouse.com',
templates: [
{
icon: ClickHouseIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/cloudflare.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1100,6 +1100,7 @@ Return ONLY the comma-separated URLs - no explanations, no extra text.`,

export const CloudflareBlockMeta = {
tags: ['cloud', 'monitoring'],
url: 'https://www.cloudflare.com',
templates: [
{
icon: CloudflareIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/cloudformation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,7 @@ export const CloudFormationBlock: BlockConfig<

export const CloudFormationBlockMeta = {
tags: ['cloud'],
url: 'https://aws.amazon.com/cloudformation',
templates: [
{
icon: CloudFormationIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/cloudwatch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -879,6 +879,7 @@ Return ONLY the numeric timestamp - no explanations, no quotes, no extra text.`,

export const CloudWatchBlockMeta = {
tags: ['cloud', 'monitoring'],
url: 'https://aws.amazon.com/cloudwatch',
templates: [
{
icon: CloudWatchIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/codepipeline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -504,6 +504,7 @@ export const CodePipelineBlock: BlockConfig<

export const CodePipelineBlockMeta = {
tags: ['cloud', 'ci-cd'],
url: 'https://aws.amazon.com/codepipeline',
templates: [
{
icon: CodePipelineIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/confluence.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1604,6 +1604,7 @@ export const ConfluenceV2Block: BlockConfig<ConfluenceResponse> = {

export const ConfluenceBlockMeta = {
tags: ['knowledge-base', 'content-management', 'note-taking'],
url: 'https://www.atlassian.com/software/confluence',
templates: [
{
icon: PagerDutyIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/convex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,7 @@ Return ONLY the JSON object - no explanations, no markdown, no extra text.`,

export const ConvexBlockMeta = {
tags: ['cloud'],
url: 'https://www.convex.dev',
templates: [
{
icon: ConvexIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/crowdstrike.ts
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ export const CrowdStrikeBlock: BlockConfig<CrowdStrikeResponse> = {

export const CrowdStrikeBlockMeta = {
tags: ['identity', 'monitoring'],
url: 'https://www.crowdstrike.com',
templates: [
{
icon: CrowdStrikeIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/cursor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ export const CursorV2Block: BlockConfig<CursorResponse> = {

export const CursorBlockMeta = {
tags: ['agentic', 'automation'],
url: 'https://cursor.com',
templates: [
{
icon: CursorIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/dagster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,7 @@ Return ONLY the comma-separated asset keys - no explanations, no extra text.`,

export const DagsterBlockMeta = {
tags: ['data-analytics', 'automation'],
url: 'https://dagster.io',
templates: [
{
icon: DagsterIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/databricks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -474,6 +474,7 @@ Return ONLY the numeric timestamp in milliseconds - no explanations, no extra te

export const DatabricksBlockMeta = {
tags: ['data-warehouse', 'data-analytics', 'cloud'],
url: 'https://www.databricks.com',
templates: [
{
icon: DatabricksIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/datadog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -836,6 +836,7 @@ Return ONLY the numeric timestamp - no explanations, no quotes, no extra text.`,

export const DatadogBlockMeta = {
tags: ['monitoring', 'incident-management', 'error-tracking'],
url: 'https://www.datadoghq.com',
templates: [
{
icon: DatadogIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/daytona.ts
Original file line number Diff line number Diff line change
Expand Up @@ -565,6 +565,7 @@ export const DaytonaBlock: BlockConfig = {

export const DaytonaBlockMeta = {
tags: ['agentic', 'cloud', 'automation'],
url: 'https://www.daytona.io',
templates: [
{
icon: DaytonaIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/devin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ RULES:

export const DevinBlockMeta = {
tags: ['agentic', 'automation'],
url: 'https://devin.ai',
templates: [
{
icon: DevinIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/discord.ts
Original file line number Diff line number Diff line change
Expand Up @@ -799,6 +799,7 @@ export const DiscordBlock: BlockConfig<DiscordResponse> = {

export const DiscordBlockMeta = {
tags: ['messaging', 'webhooks', 'automation'],
url: 'https://discord.com',
templates: [
{
icon: DiscordIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/docusign.ts
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@ export const DocuSignBlock: BlockConfig<DocuSignResponse> = {

export const DocuSignBlockMeta = {
tags: ['e-signatures', 'document-processing'],
url: 'https://www.docusign.com',
templates: [
{
icon: DocuSignIcon,
Expand Down
1 change: 1 addition & 0 deletions apps/sim/blocks/blocks/dropbox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,7 @@ Return ONLY the timestamp string - no explanations, no quotes, no extra text.`,

export const DropboxBlockMeta = {
tags: ['cloud', 'document-processing'],
url: 'https://www.dropbox.com',
templates: [
{
icon: DropboxIcon,
Expand Down
Loading
Loading