diff --git a/apps/docs/content/docs/en/triggers/index.mdx b/apps/docs/content/docs/en/triggers/index.mdx
index f13e8ee094..a8fb16349b 100644
--- a/apps/docs/content/docs/en/triggers/index.mdx
+++ b/apps/docs/content/docs/en/triggers/index.mdx
@@ -39,3 +39,15 @@ Use the Start block for everything originating from the editor, deploy-to-API, o
> Deployments power every trigger. Update the workflow, redeploy, and all trigger entry points pick up the new snapshot. Learn more in [Execution → Deployment Snapshots](/execution).
+## Manual Execution Priority
+
+When you click **Run** in the editor, Sim automatically selects which trigger to execute based on the following priority order:
+
+1. **Start Block** (highest priority)
+2. **Schedule Triggers**
+3. **External Triggers** (webhooks, integrations like Slack, Gmail, Airtable, etc.)
+
+If your workflow has multiple triggers, the highest priority trigger will be executed. For example, if you have both a Start block and a Webhook trigger, clicking Run will execute the Start block.
+
+**External triggers with mock payloads**: When external triggers (webhooks and integrations) are executed manually, Sim automatically generates mock payloads based on the trigger's expected data structure. This ensures downstream blocks can resolve variables correctly during testing.
+
diff --git a/apps/sim/app/api/workflows/[id]/execute/route.ts b/apps/sim/app/api/workflows/[id]/execute/route.ts
index f014599e09..b827be1e3b 100644
--- a/apps/sim/app/api/workflows/[id]/execute/route.ts
+++ b/apps/sim/app/api/workflows/[id]/execute/route.ts
@@ -29,6 +29,7 @@ const ExecuteWorkflowSchema = z.object({
stream: z.boolean().optional(),
useDraftState: z.boolean().optional(),
input: z.any().optional(),
+ startBlockId: z.string().optional(),
})
export const runtime = 'nodejs'
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/gmail.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/gmail.tsx
index 7757fbea4c..b192ab090c 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/gmail.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/gmail.tsx
@@ -1,13 +1,11 @@
import { useEffect, useState } from 'react'
import { Info } from 'lucide-react'
import { Tooltip } from '@/components/emcn'
-import { GmailIcon } from '@/components/icons'
import {
Badge,
Button,
Checkbox,
Label,
- Notice,
Select,
SelectContent,
SelectItem,
@@ -16,7 +14,6 @@ import {
Skeleton,
} from '@/components/ui'
import { createLogger } from '@/lib/logs/console/logger'
-import { JSONView } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/console/components'
import { ConfigSection } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components'
const logger = createLogger('GmailConfig')
@@ -56,76 +53,6 @@ const formatLabelName = (label: GmailLabel): string => {
return formattedName
}
-const getExampleEmailEvent = (includeRawEmail: boolean) => {
- const baseExample = {
- email: {
- id: '18e0ffabd5b5a0f4',
- threadId: '18e0ffabd5b5a0f4',
- subject: 'Monthly Report - April 2025',
- from: 'sender@example.com',
- to: 'recipient@example.com',
- cc: 'team@example.com',
- date: '2025-05-10T10:15:23.000Z',
- bodyText:
- 'Hello,\n\nPlease find attached the monthly report for April 2025.\n\nBest regards,\nSender',
- bodyHtml:
- '
Hello,
Please find attached the monthly report for April 2025.
Best regards,
Sender
',
- labels: ['INBOX', 'IMPORTANT'],
- hasAttachments: true,
- attachments: [
- {
- filename: 'report-april-2025.pdf',
- mimeType: 'application/pdf',
- size: 2048576,
- },
- ],
- },
- timestamp: '2025-05-10T10:15:30.123Z',
- }
-
- if (includeRawEmail) {
- return {
- ...baseExample,
- rawEmail: {
- id: '18e0ffabd5b5a0f4',
- threadId: '18e0ffabd5b5a0f4',
- labelIds: ['INBOX', 'IMPORTANT'],
- snippet: 'Hello, Please find attached the monthly report...',
- historyId: '123456',
- internalDate: '1715337323000',
- payload: {
- partId: '',
- mimeType: 'multipart/mixed',
- filename: '',
- headers: [
- { name: 'From', value: 'sender@example.com' },
- { name: 'To', value: 'recipient@example.com' },
- { name: 'Subject', value: 'Monthly Report - April 2025' },
- { name: 'Date', value: 'Fri, 10 May 2025 10:15:23 +0000' },
- { name: 'Message-ID', value: '' },
- ],
- body: { size: 0 },
- parts: [
- {
- partId: '0',
- mimeType: 'text/plain',
- filename: '',
- headers: [{ name: 'Content-Type', value: 'text/plain; charset=UTF-8' }],
- body: {
- size: 85,
- data: 'SGVsbG8sDQoNClBsZWFzZSBmaW5kIGF0dGFjaGVkIHRoZSBtb250aGx5IHJlcG9ydA==',
- },
- },
- ],
- },
- sizeEstimate: 4156,
- },
- }
- }
-
- return baseExample
-}
-
interface GmailConfigProps {
selectedLabels: string[]
setSelectedLabels: (labels: string[]) => void
@@ -364,17 +291,6 @@ export function GmailConfig({
-
- }
- title='Gmail Event Payload Example'
- >
-
-
-
-
)
}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/outlook.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/outlook.tsx
index 40a8e749ec..a6e7d6eadd 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/outlook.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/outlook.tsx
@@ -1,7 +1,6 @@
import { useEffect, useState } from 'react'
import { Info } from 'lucide-react'
import { Tooltip } from '@/components/emcn'
-import { OutlookIcon } from '@/components/icons'
import {
Badge,
Button,
@@ -16,7 +15,6 @@ import {
Skeleton,
} from '@/components/ui'
import { createLogger } from '@/lib/logs/console/logger'
-import { JSONView } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/console/components'
import { ConfigSection } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components'
const logger = createLogger('OutlookConfig')
@@ -40,70 +38,6 @@ const TOOLTIPS = {
}
// Generate example payload for Outlook
-const generateOutlookExamplePayload = (includeRawEmail: boolean) => {
- const baseExample: any = {
- email: {
- id: 'AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OABGAAAAAAAiQ8W967B7TKBjgx9rVEURBwAiIsqMbYjsT5e-T4KzowKTAAAAAAEMAAAiIsqMbYjsT5e-T4KzowKTAAAYbvZDAAA=',
- conversationId:
- 'AAQkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAQAOH_y8jLzUGIn-HVkHUBrEE=',
- subject: 'Monthly Report - January 2024',
- from: 'sender@company.com',
- to: 'recipient@company.com',
- cc: '',
- date: '2024-01-15T10:30:00Z',
- bodyText: 'Hello, Please find attached the monthly report for January 2024.',
- bodyHtml: 'Hello,
Please find attached the monthly report for January 2024.
',
- hasAttachments: true,
- isRead: false,
- folderId: 'inbox',
- },
- timestamp: '2024-01-15T10:30:15.123Z',
- }
-
- if (includeRawEmail) {
- baseExample.rawEmail = {
- id: 'AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OABGAAAAAAAiQ8W967B7TKBjgx9rVEURBwAiIsqMbYjsT5e-T4KzowKTAAAAAAEMAAAiIsqMbYjsT5e-T4KzowKTAAAYbvZDAAA=',
- conversationId:
- 'AAQkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAQAOH_y8jLzUGIn-HVkHUBrEE=',
- subject: 'Monthly Report - January 2024',
- bodyPreview: 'Hello, Please find attached the monthly report for January 2024.',
- body: {
- contentType: 'html',
- content: 'Hello,
Please find attached the monthly report for January 2024.
',
- },
- from: {
- emailAddress: {
- name: 'John Doe',
- address: 'sender@company.com',
- },
- },
- toRecipients: [
- {
- emailAddress: {
- name: 'Jane Smith',
- address: 'recipient@company.com',
- },
- },
- ],
- ccRecipients: [],
- bccRecipients: [],
- receivedDateTime: '2024-01-15T10:30:00Z',
- sentDateTime: '2024-01-15T10:29:45Z',
- hasAttachments: true,
- isRead: false,
- isDraft: false,
- importance: 'normal',
- parentFolderId: 'inbox',
- internetMessageId: '',
- webLink: 'https://outlook.office365.com/owa/?ItemID=...',
- createdDateTime: '2024-01-15T10:30:00Z',
- lastModifiedDateTime: '2024-01-15T10:30:15Z',
- changeKey: 'CQAAABYAAAAiIsqMbYjsT5e-T4KzowKTAAAYbvZE',
- }
- }
-
- return baseExample
-}
interface OutlookConfigProps {
selectedLabels: string[]
@@ -368,16 +302,6 @@ export function OutlookConfig({
-
-
-
-
-
Outlook Event Payload Example
-
-
-
-
-
)
}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/slack.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/slack.tsx
index 28e4ac2e34..40e65b965c 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/slack.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/components/sub-block/components/webhook/components/providers/slack.tsx
@@ -1,6 +1,3 @@
-import { SlackIcon } from '@/components/icons'
-import { Notice } from '@/components/ui'
-import { JSONView } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/console/components'
import {
ConfigSection,
InstructionsSection,
@@ -23,24 +20,6 @@ interface SlackConfigProps {
webhookUrl: string
}
-const exampleEvent = JSON.stringify(
- {
- type: 'event_callback',
- event: {
- type: 'message',
- channel: 'C0123456789',
- user: 'U0123456789',
- text: 'Hello from Slack!',
- ts: '1234567890.123456',
- },
- team_id: 'T0123456789',
- event_id: 'Ev0123456789',
- event_time: 1234567890,
- },
- null,
- 2
-)
-
export function SlackConfig({
signingSecret,
setSigningSecret,
@@ -144,20 +123,6 @@ export function SlackConfig({
Save changes in both Slack and here.
-
-
- }
- title='Slack Event Payload Example'
- >
- Your workflow will receive a payload similar to this when a subscribed event occurs:
-
-
-
-
)
}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts
index 0f0cc4d1e1..9422537f32 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/hooks/use-workflow-execution.ts
@@ -3,18 +3,21 @@ import { v4 as uuidv4 } from 'uuid'
import { createLogger } from '@/lib/logs/console/logger'
import { buildTraceSpans } from '@/lib/logs/execution/trace-spans/trace-spans'
import { processStreamingBlockLogs } from '@/lib/tokenization'
+import {
+ extractTriggerMockPayload,
+ selectBestTrigger,
+ triggerNeedsMockPayload,
+} from '@/lib/workflows/trigger-utils'
import { resolveStartCandidates, StartBlockPath, TriggerUtils } from '@/lib/workflows/triggers'
import type { BlockLog, ExecutionResult, StreamingExecution } from '@/executor/types'
import { useExecutionStream } from '@/hooks/use-execution-stream'
-import { Serializer, WorkflowValidationError } from '@/serializer'
+import { WorkflowValidationError } from '@/serializer'
import { useExecutionStore } from '@/stores/execution/store'
import { useVariablesStore } from '@/stores/panel/variables/store'
import { useEnvironmentStore } from '@/stores/settings/environment/store'
import { useTerminalConsoleStore } from '@/stores/terminal'
import { useWorkflowRegistry } from '@/stores/workflows/registry/store'
import { mergeSubblockState } from '@/stores/workflows/utils'
-import { generateLoopBlocks, generateParallelBlocks } from '@/stores/workflows/workflow/utils'
-import { filterEdgesFromTriggerBlocks } from '../utils/workflow-execution-utils'
import { useCurrentWorkflow } from './use-current-workflow'
const logger = createLogger('useWorkflowExecution')
@@ -700,73 +703,6 @@ export function useWorkflowExecution() {
{} as typeof mergedStates
)
- const currentBlockStates = Object.entries(filteredStates).reduce(
- (acc, [id, block]) => {
- acc[id] = Object.entries(block.subBlocks).reduce(
- (subAcc, [key, subBlock]) => {
- subAcc[key] = subBlock.value
- return subAcc
- },
- {} as Record
- )
- return acc
- },
- {} as Record>
- )
-
- // Get workspaceId from workflow metadata
- const workspaceId = activeWorkflowId ? workflows[activeWorkflowId]?.workspaceId : undefined
-
- // Get environment variables with workspace precedence
- const personalEnvVars = getAllVariables()
- const personalEnvValues = Object.entries(personalEnvVars).reduce(
- (acc, [key, variable]) => {
- acc[key] = variable.value
- return acc
- },
- {} as Record
- )
-
- // Load workspace environment variables if workspaceId exists
- let workspaceEnvValues: Record = {}
- if (workspaceId) {
- try {
- const workspaceData = await loadWorkspaceEnvironment(workspaceId)
- workspaceEnvValues = workspaceData.workspace || {}
- } catch (error) {
- logger.warn('Failed to load workspace environment variables:', error)
- }
- }
-
- // Merge with workspace taking precedence over personal
- const envVarValues = { ...personalEnvValues, ...workspaceEnvValues }
-
- // Get workflow variables
- const workflowVars = activeWorkflowId ? getVariablesByWorkflowId(activeWorkflowId) : []
- const workflowVariables = workflowVars.reduce(
- (acc, variable) => {
- acc[variable.id] = variable
- return acc
- },
- {} as Record
- )
-
- // Filter out edges between trigger blocks - triggers are independent entry points
- const filteredEdges = filterEdgesFromTriggerBlocks(filteredStates, workflowEdges)
-
- // Derive subflows from the current filtered graph to avoid stale state
- const runtimeLoops = generateLoopBlocks(filteredStates)
- const runtimeParallels = generateParallelBlocks(filteredStates)
-
- // Create serialized workflow with validation enabled
- const workflow = new Serializer().serializeWorkflow(
- filteredStates,
- filteredEdges,
- runtimeLoops,
- runtimeParallels,
- true
- )
-
// If this is a chat execution, get the selected outputs
let selectedOutputs: string[] | undefined
if (isExecutingFromChat && activeWorkflowId) {
@@ -804,19 +740,21 @@ export function useWorkflowExecution() {
startBlockId = startBlock.blockId
} else {
+ // Manual execution: detect and group triggers by paths
const candidates = resolveStartCandidates(filteredStates, {
execution: 'manual',
})
- logger.info('Manual run start candidates:', {
- count: candidates.length,
- paths: candidates.map((candidate) => ({
- path: candidate.path,
- type: candidate.block.type,
- name: candidate.block.name,
- })),
- })
+ if (candidates.length === 0) {
+ const error = new Error('Workflow requires at least one trigger block to execute')
+ logger.error('No trigger blocks found for manual run', {
+ allBlockTypes: Object.values(filteredStates).map((b) => b.type),
+ })
+ setIsExecuting(false)
+ throw error
+ }
+ // Check for multiple API triggers (still not allowed)
const apiCandidates = candidates.filter(
(candidate) => candidate.path === StartBlockPath.SPLIT_API
)
@@ -827,18 +765,16 @@ export function useWorkflowExecution() {
throw error
}
- const selectedCandidate = apiCandidates[0] ?? candidates[0]
-
- if (!selectedCandidate) {
- const error = new Error('Manual run requires a Manual, Input Form, or API Trigger block')
- logger.error('No manual/input or API triggers found for manual run')
- setIsExecuting(false)
- throw error
- }
+ // Select the best trigger
+ // Priority: Start Block > Schedules > External Triggers > Legacy
+ const selectedTriggers = selectBestTrigger(candidates, workflowEdges)
+ // Execute the first/highest priority trigger
+ const selectedCandidate = selectedTriggers[0]
startBlockId = selectedCandidate.blockId
const selectedTrigger = selectedCandidate.block
+ // Validate outgoing connections for non-legacy triggers
if (selectedCandidate.path !== StartBlockPath.LEGACY_STARTER) {
const outgoingConnections = workflowEdges.filter((edge) => edge.source === startBlockId)
if (outgoingConnections.length === 0) {
@@ -850,30 +786,21 @@ export function useWorkflowExecution() {
}
}
- if (
+ // Prepare input based on trigger type
+ if (triggerNeedsMockPayload(selectedCandidate)) {
+ const mockPayload = extractTriggerMockPayload(selectedCandidate)
+ finalWorkflowInput = mockPayload
+ } else if (
selectedCandidate.path === StartBlockPath.SPLIT_API ||
selectedCandidate.path === StartBlockPath.SPLIT_INPUT ||
selectedCandidate.path === StartBlockPath.UNIFIED
) {
const inputFormatValue = selectedTrigger.subBlocks?.inputFormat?.value
const testInput = extractTestValuesFromInputFormat(inputFormatValue)
-
if (Object.keys(testInput).length > 0) {
finalWorkflowInput = testInput
- logger.info('Using trigger test values for manual run:', {
- startBlockId,
- testFields: Object.keys(testInput),
- path: selectedCandidate.path,
- })
}
}
-
- logger.info('Trigger found for manual run:', {
- startBlockId,
- triggerType: selectedTrigger.type,
- triggerName: selectedTrigger.name,
- startPath: selectedCandidate.path,
- })
}
// If we don't have a valid startBlockId at this point, throw an error
@@ -904,10 +831,12 @@ export function useWorkflowExecution() {
const activeBlocksSet = new Set()
const streamedContent = new Map()
+ // Execute the workflow
try {
await executionStream.execute({
workflowId: activeWorkflowId,
input: finalWorkflowInput,
+ startBlockId,
selectedOutputs,
triggerType: overrideTriggerType || 'manual',
useDraftState: true,
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils.ts b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils.ts
index ac159bbed7..9df5b1cc8f 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils.ts
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils.ts
@@ -1,16 +1,6 @@
-/**
- * Workflow execution utilities for client-side execution triggers
- * This is now a thin wrapper around the server-side executor
- */
-
-import type { Edge } from 'reactflow'
-import { createLogger } from '@/lib/logs/console/logger'
-import { TriggerUtils } from '@/lib/workflows/triggers'
import type { ExecutionResult, StreamingExecution } from '@/executor/types'
import { useWorkflowRegistry } from '@/stores/workflows/registry/store'
-const logger = createLogger('WorkflowExecutionUtils')
-
export interface WorkflowExecutionOptions {
workflowInput?: any
onStream?: (se: StreamingExecution) => Promise
@@ -54,28 +44,3 @@ export async function executeWorkflowWithFullLogging(
const result = await response.json()
return result as ExecutionResult
}
-
-/**
- * Filter out all incoming edges to trigger blocks - triggers are independent entry points
- * This ensures execution and UI only show edges that are actually connected in execution
- * @param blocks - Record of blocks keyed by block ID
- * @param edges - Array of edges to filter
- * @returns Filtered array of edges
- */
-export function filterEdgesFromTriggerBlocks(blocks: Record, edges: Edge[]): Edge[] {
- return edges.filter((edge) => {
- const sourceBlock = blocks[edge.source]
- const targetBlock = blocks[edge.target]
-
- if (!sourceBlock || !targetBlock) {
- return true
- }
-
- const targetIsTrigger = TriggerUtils.isTriggerBlock({
- type: targetBlock.type,
- triggerMode: targetBlock.triggerMode,
- })
-
- return !targetIsTrigger
- })
-}
diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx
index f1cd9c0c80..b1df41dfaa 100644
--- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx
+++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx
@@ -34,7 +34,6 @@ import {
useCurrentWorkflow,
useNodeUtilities,
} from '@/app/workspace/[workspaceId]/w/[workflowId]/hooks'
-import { filterEdgesFromTriggerBlocks } from '@/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils'
import { getBlock } from '@/blocks'
import { useSocket } from '@/contexts/socket-context'
import { useCollaborativeWorkflow } from '@/hooks/use-collaborative-workflow'
@@ -226,9 +225,7 @@ const WorkflowContent = React.memo(() => {
// Combine existing edges with reconstructed deleted edges
edgesToFilter = [...edges, ...reconstructedEdges]
}
-
- // Filter out edges between trigger blocks for consistent UI and execution behavior
- return filterEdgesFromTriggerBlocks(blocks, edgesToFilter)
+ return edgesToFilter
}, [edges, isShowingDiff, isDiffReady, diffAnalysis, blocks])
// User permissions - get current user's specific permissions from context
@@ -601,6 +598,12 @@ const WorkflowContent = React.memo(() => {
if (isAutoConnectEnabled) {
const closestBlock = findClosestOutput(centerPosition)
if (closestBlock) {
+ // Container nodes are never triggers, but check if source is a trigger
+ const sourceBlockConfig = getBlock(closestBlock.type)
+ const isSourceTrigger =
+ sourceBlockConfig?.category === 'triggers' || sourceBlockConfig?.triggers?.enabled
+
+ // Container nodes can connect from triggers (they're not triggers themselves)
// Get appropriate source handle
const sourceHandle = determineSourceHandle(closestBlock)
@@ -660,18 +663,28 @@ const WorkflowContent = React.memo(() => {
const closestBlock = findClosestOutput(centerPosition)
logger.info('Closest block found:', closestBlock)
if (closestBlock) {
- // Get appropriate source handle
- const sourceHandle = determineSourceHandle(closestBlock)
-
- autoConnectEdge = {
- id: crypto.randomUUID(),
- source: closestBlock.id,
- target: id,
- sourceHandle,
- targetHandle: 'target',
- type: 'workflowEdge',
+ // Don't create edges into trigger blocks
+ const targetBlockConfig = blockConfig
+ const isTargetTrigger =
+ targetBlockConfig?.category === 'triggers' || targetBlockConfig?.triggers?.enabled
+
+ if (!isTargetTrigger) {
+ const sourceHandle = determineSourceHandle(closestBlock)
+
+ autoConnectEdge = {
+ id: crypto.randomUUID(),
+ source: closestBlock.id,
+ target: id,
+ sourceHandle,
+ targetHandle: 'target',
+ type: 'workflowEdge',
+ }
+ logger.info('Auto-connect edge created:', autoConnectEdge)
+ } else {
+ logger.info('Skipping auto-connect into trigger block', {
+ target: type,
+ })
}
- logger.info('Auto-connect edge created:', autoConnectEdge)
}
}
@@ -831,6 +844,7 @@ const WorkflowContent = React.memo(() => {
if (isAutoConnectEnabled) {
const closestBlock = findClosestOutput(position)
if (closestBlock) {
+ // Container nodes can connect from any block (they're never triggers)
const sourceHandle = determineSourceHandle(closestBlock)
autoConnectEdge = {
@@ -911,17 +925,24 @@ const WorkflowContent = React.memo(() => {
.sort((a, b) => a.distance - b.distance)[0]?.block
if (closestBlock) {
- const sourceHandle = determineSourceHandle({
- id: closestBlock.id,
- type: closestBlock.type,
- })
- autoConnectEdge = {
- id: crypto.randomUUID(),
- source: closestBlock.id,
- target: id,
- sourceHandle,
- targetHandle: 'target',
- type: 'workflowEdge',
+ // Don't create edges into trigger blocks
+ const targetBlockConfig = getBlock(data.type)
+ const isTargetTrigger =
+ targetBlockConfig?.category === 'triggers' || targetBlockConfig?.triggers?.enabled
+
+ if (!isTargetTrigger) {
+ const sourceHandle = determineSourceHandle({
+ id: closestBlock.id,
+ type: closestBlock.type,
+ })
+ autoConnectEdge = {
+ id: crypto.randomUUID(),
+ source: closestBlock.id,
+ target: id,
+ sourceHandle,
+ targetHandle: 'target',
+ type: 'workflowEdge',
+ }
}
}
} else {
@@ -982,15 +1003,22 @@ const WorkflowContent = React.memo(() => {
if (isAutoConnectEnabled && data.type !== 'starter') {
const closestBlock = findClosestOutput(position)
if (closestBlock) {
- const sourceHandle = determineSourceHandle(closestBlock)
+ // Don't create edges into trigger blocks
+ const targetBlockConfig = getBlock(data.type)
+ const isTargetTrigger =
+ targetBlockConfig?.category === 'triggers' || targetBlockConfig?.triggers?.enabled
- autoConnectEdge = {
- id: crypto.randomUUID(),
- source: closestBlock.id,
- target: id,
- sourceHandle,
- targetHandle: 'target',
- type: 'workflowEdge',
+ if (!isTargetTrigger) {
+ const sourceHandle = determineSourceHandle(closestBlock)
+
+ autoConnectEdge = {
+ id: crypto.randomUUID(),
+ source: closestBlock.id,
+ target: id,
+ sourceHandle,
+ targetHandle: 'target',
+ type: 'workflowEdge',
+ }
}
}
}
diff --git a/apps/sim/lib/workflows/executor/execution-core.ts b/apps/sim/lib/workflows/executor/execution-core.ts
index 90464ccdc6..7387cb436e 100644
--- a/apps/sim/lib/workflows/executor/execution-core.ts
+++ b/apps/sim/lib/workflows/executor/execution-core.ts
@@ -16,7 +16,6 @@ import {
} from '@/lib/workflows/db-helpers'
import { TriggerUtils } from '@/lib/workflows/triggers'
import { updateWorkflowRunCounts } from '@/lib/workflows/utils'
-import { filterEdgesFromTriggerBlocks } from '@/app/workspace/[workspaceId]/w/[workflowId]/utils/workflow-execution-utils'
import { Executor } from '@/executor'
import type { ExecutionCallbacks, ExecutionSnapshot } from '@/executor/execution/snapshot'
import type { ExecutionResult } from '@/executor/types'
@@ -225,7 +224,8 @@ export async function executeWorkflowCore(
{} as Record>
)
- const filteredEdges = filterEdgesFromTriggerBlocks(mergedStates, edges)
+ // Use edges directly - trigger-to-trigger edges are prevented at creation time
+ const filteredEdges = edges
// Check if this is a resume execution before trigger resolution
const resumeFromSnapshot = (metadata as any).resumeFromSnapshot === true
diff --git a/apps/sim/lib/workflows/trigger-utils.ts b/apps/sim/lib/workflows/trigger-utils.ts
index cd3520f3ac..169feba260 100644
--- a/apps/sim/lib/workflows/trigger-utils.ts
+++ b/apps/sim/lib/workflows/trigger-utils.ts
@@ -1,6 +1,97 @@
-import { TRIGGER_TYPES } from '@/lib/workflows/triggers'
+import { createLogger } from '@/lib/logs/console/logger'
+import { type StartBlockCandidate, StartBlockPath, TRIGGER_TYPES } from '@/lib/workflows/triggers'
import { getAllBlocks, getBlock } from '@/blocks'
import type { BlockConfig } from '@/blocks/types'
+import { getTrigger } from '@/triggers'
+
+const logger = createLogger('TriggerUtils')
+
+/**
+ * Generates mock data based on the output type definition
+ */
+function generateMockValue(type: string, description?: string, fieldName?: string): any {
+ const name = fieldName || 'value'
+
+ switch (type) {
+ case 'string':
+ return `mock_${name}`
+
+ case 'number':
+ return 42
+
+ case 'boolean':
+ return true
+
+ case 'array':
+ return [
+ {
+ id: 'item_1',
+ name: 'Sample Item',
+ value: 'Sample Value',
+ },
+ ]
+
+ case 'json':
+ case 'object':
+ return {
+ id: 'sample_id',
+ name: 'Sample Object',
+ status: 'active',
+ }
+
+ default:
+ return null
+ }
+}
+
+/**
+ * Recursively processes nested output structures
+ */
+function processOutputField(key: string, field: any, depth = 0, maxDepth = 10): any {
+ // Prevent infinite recursion
+ if (depth > maxDepth) {
+ return null
+ }
+
+ if (field && typeof field === 'object' && 'type' in field) {
+ return generateMockValue(field.type, field.description, key)
+ }
+
+ if (field && typeof field === 'object' && !Array.isArray(field)) {
+ const nestedObject: Record = {}
+ for (const [nestedKey, nestedField] of Object.entries(field)) {
+ nestedObject[nestedKey] = processOutputField(nestedKey, nestedField, depth + 1, maxDepth)
+ }
+ return nestedObject
+ }
+
+ return null
+}
+
+/**
+ * Generates mock payload from outputs object
+ */
+function generateMockPayloadFromOutputs(outputs: Record): Record {
+ const mockPayload: Record = {}
+
+ for (const [key, output] of Object.entries(outputs)) {
+ if (key === 'visualization') {
+ continue
+ }
+ mockPayload[key] = processOutputField(key, output)
+ }
+
+ return mockPayload
+}
+
+/**
+ * Generates a mock payload based on outputs definition
+ */
+export function generateMockPayloadFromOutputsDefinition(
+ outputs: Record
+): Record {
+ return generateMockPayloadFromOutputs(outputs)
+}
export interface TriggerInfo {
id: string
@@ -62,7 +153,10 @@ export function getAllTriggerBlocks(): TriggerInfo[] {
* Check if a block has trigger capability (contains trigger mode subblocks)
*/
export function hasTriggerCapability(block: BlockConfig): boolean {
- return block.subBlocks.some((subBlock) => subBlock.mode === 'trigger')
+ return (
+ (block.triggers?.enabled === true && block.triggers.available.length > 0) ||
+ block.subBlocks.some((subBlock) => subBlock.mode === 'trigger')
+ )
}
/**
@@ -106,3 +200,200 @@ export function getTriggerDisplayName(blockType: string): string {
return block.name
}
+
+/**
+ * Groups triggers by their immediate downstream blocks to identify disjoint paths
+ */
+export function groupTriggersByPath<
+ T extends { type: string; subBlocks?: Record },
+>(
+ candidates: StartBlockCandidate[],
+ edges: Array<{ source: string; target: string }>
+): Array[]> {
+ if (candidates.length <= 1) {
+ return [candidates]
+ }
+
+ const groups: Array[]> = []
+ const processed = new Set()
+
+ // Build adjacency map (edges should already be filtered to exclude trigger-to-trigger)
+ const adjacency = new Map()
+ for (const edge of edges) {
+ if (!adjacency.has(edge.source)) {
+ adjacency.set(edge.source, [])
+ }
+ adjacency.get(edge.source)!.push(edge.target)
+ }
+
+ // Group triggers that feed into the same immediate blocks
+ for (const trigger of candidates) {
+ if (processed.has(trigger.blockId)) continue
+
+ const immediateTargets = adjacency.get(trigger.blockId) || []
+ const targetSet = new Set(immediateTargets)
+
+ // Find all triggers with the same immediate targets
+ const group = candidates.filter((t) => {
+ if (processed.has(t.blockId)) return false
+ if (t.blockId === trigger.blockId) return true
+
+ const tTargets = adjacency.get(t.blockId) || []
+
+ // Different number of targets = different paths
+ if (immediateTargets.length !== tTargets.length) return false
+
+ // Check if all targets match
+ return tTargets.every((target) => targetSet.has(target))
+ })
+
+ group.forEach((t) => processed.add(t.blockId))
+ groups.push(group)
+ }
+
+ logger.info('Grouped triggers by path', {
+ groupCount: groups.length,
+ groups: groups.map((g) => ({
+ count: g.length,
+ triggers: g.map((t) => ({ id: t.blockId, type: t.block.type })),
+ })),
+ })
+
+ return groups
+}
+
+/**
+ * Selects the best trigger from a list of candidates based on priority
+ * Priority: Start Block > Schedules > External Triggers > Legacy
+ * If multiple disjoint paths exist, returns one trigger per path
+ */
+export function selectBestTrigger }>(
+ candidates: StartBlockCandidate[],
+ edges?: Array<{ source: string; target: string }>
+): StartBlockCandidate[] {
+ if (candidates.length === 0) {
+ throw new Error('No trigger candidates provided')
+ }
+
+ // If edges provided, group by path and select best from each group
+ if (edges) {
+ const groups = groupTriggersByPath(candidates, edges)
+ return groups.map((group) => selectBestFromGroup(group))
+ }
+
+ // Otherwise just select the single best trigger
+ return [selectBestFromGroup(candidates)]
+}
+
+/**
+ * Selects the best trigger from a group based on priority
+ */
+function selectBestFromGroup }>(
+ candidates: StartBlockCandidate[]
+): StartBlockCandidate {
+ if (candidates.length === 1) {
+ return candidates[0]
+ }
+
+ // Sort by priority (lower number = higher priority)
+ const sorted = [...candidates].sort((a, b) => {
+ const getPriority = (trigger: StartBlockCandidate): number => {
+ // Start block - highest priority
+ if (trigger.path === StartBlockPath.UNIFIED) return 0
+ if (trigger.path === StartBlockPath.LEGACY_STARTER) return 1
+
+ // For external triggers, differentiate schedules from webhooks
+ if (trigger.path === StartBlockPath.EXTERNAL_TRIGGER) {
+ if (trigger.block.type === 'schedule') return 2
+ return 3 // Webhooks and other external triggers
+ }
+
+ // Other trigger types
+ if (trigger.path === StartBlockPath.SPLIT_API) return 4
+ if (trigger.path === StartBlockPath.SPLIT_INPUT) return 5
+ if (trigger.path === StartBlockPath.SPLIT_MANUAL) return 6
+ if (trigger.path === StartBlockPath.SPLIT_CHAT) return 7
+
+ return 99 // Unknown
+ }
+
+ return getPriority(a) - getPriority(b)
+ })
+
+ const selected = sorted[0]
+ logger.info('Selected best trigger from group', {
+ selectedId: selected.blockId,
+ selectedType: selected.block.type,
+ selectedPath: selected.path,
+ groupSize: candidates.length,
+ })
+
+ return selected
+}
+
+/**
+ * Checks if a trigger needs mock payload (external triggers/webhooks, but not schedules)
+ */
+export function triggerNeedsMockPayload(
+ trigger: StartBlockCandidate
+): boolean {
+ // Only webhooks and external integrations need mock payloads
+ // Schedules run normally without mock data
+ return trigger.path === StartBlockPath.EXTERNAL_TRIGGER && trigger.block.type !== 'schedule'
+}
+
+/**
+ * Extracts or generates mock payload for external trigger execution
+ */
+export function extractTriggerMockPayload<
+ T extends { type: string; subBlocks?: Record },
+>(trigger: StartBlockCandidate): any {
+ const subBlocks = trigger.block.subBlocks as Record | undefined
+
+ // Determine the trigger ID
+ let triggerId: string
+
+ // Check for selectedTriggerId (multi-trigger blocks like Linear, Jira)
+ if (typeof subBlocks?.selectedTriggerId?.value === 'string') {
+ triggerId = subBlocks.selectedTriggerId.value
+ } else {
+ // For single-trigger blocks, get from block config
+ const blockConfig = getBlock(trigger.block.type)
+
+ if (blockConfig?.triggers?.available?.length === 1) {
+ triggerId = blockConfig.triggers.available[0]
+ } else {
+ // Fallback to block type (for blocks that are themselves triggers like schedule)
+ triggerId = trigger.block.type
+ }
+ }
+
+ try {
+ const triggerConfig = getTrigger(triggerId)
+
+ if (!triggerConfig || !triggerConfig.outputs) {
+ logger.warn('No trigger config or outputs found', {
+ triggerId,
+ blockId: trigger.blockId,
+ })
+ return {}
+ }
+
+ const payload = generateMockPayloadFromOutputsDefinition(triggerConfig.outputs)
+
+ logger.info('Generated mock payload from trigger outputs', {
+ triggerId,
+ blockId: trigger.blockId,
+ topLevelKeys: Object.keys(payload ?? {}),
+ })
+
+ return payload
+ } catch (error) {
+ logger.error('Failed to generate mock payload from trigger outputs', {
+ triggerId,
+ blockId: trigger.blockId,
+ error: error instanceof Error ? error.message : String(error),
+ })
+ return {}
+ }
+}
diff --git a/apps/sim/lib/workflows/triggers.ts b/apps/sim/lib/workflows/triggers.ts
index 11716e7e43..50d2540fcb 100644
--- a/apps/sim/lib/workflows/triggers.ts
+++ b/apps/sim/lib/workflows/triggers.ts
@@ -37,6 +37,7 @@ const EXECUTION_PRIORITIES: Record = {
StartBlockPath.SPLIT_INPUT,
StartBlockPath.SPLIT_MANUAL,
StartBlockPath.LEGACY_STARTER,
+ StartBlockPath.EXTERNAL_TRIGGER,
],
api: [
StartBlockPath.UNIFIED,
@@ -108,8 +109,20 @@ export function classifyStartBlockType(
export function classifyStartBlock(block: T): StartBlockPath | null {
const blockWithMetadata = block as BlockWithMetadata
- const category = blockWithMetadata.category
- const triggerModeEnabled = Boolean(blockWithMetadata.triggers?.enabled)
+
+ // Try to get metadata from the block itself first
+ let category = blockWithMetadata.category
+ let triggerModeEnabled = Boolean(blockWithMetadata.triggers?.enabled)
+
+ // If not available on the block, fetch from registry
+ if (!category || triggerModeEnabled === undefined) {
+ const blockConfig = getBlock(block.type)
+ if (blockConfig) {
+ category = category || blockConfig.category
+ triggerModeEnabled = triggerModeEnabled || Boolean(blockConfig.triggers?.enabled)
+ }
+ }
+
return classifyStartBlockType(block.type, { category, triggerModeEnabled })
}
@@ -150,7 +163,8 @@ function supportsExecution(path: StartBlockPath, execution: StartExecutionKind):
return (
path === StartBlockPath.SPLIT_API ||
path === StartBlockPath.SPLIT_INPUT ||
- path === StartBlockPath.SPLIT_MANUAL
+ path === StartBlockPath.SPLIT_MANUAL ||
+ path === StartBlockPath.EXTERNAL_TRIGGER
)
}
diff --git a/apps/sim/triggers/airtable/webhook.ts b/apps/sim/triggers/airtable/webhook.ts
index cce5bd8677..8c071ade0c 100644
--- a/apps/sim/triggers/airtable/webhook.ts
+++ b/apps/sim/triggers/airtable/webhook.ts
@@ -73,58 +73,6 @@ export const airtableWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'airtable_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- webhook: {
- id: 'achAbCdEfGhIjKlMn',
- },
- timestamp: '2023-01-01T00:00:00.000Z',
- base: {
- id: 'appXXXXXXXXXXXXXX',
- },
- table: {
- id: 'tblXXXXXXXXXXXXXX',
- },
- changedTablesById: {
- tblXXXXXXXXXXXXXX: {
- changedRecordsById: {
- recXXXXXXXXXXXXXX: {
- current: {
- id: 'recXXXXXXXXXXXXXX',
- createdTime: '2023-01-01T00:00:00.000Z',
- fields: {
- Name: 'Sample Record',
- Status: 'Active',
- },
- },
- previous: {
- id: 'recXXXXXXXXXXXXXX',
- createdTime: '2023-01-01T00:00:00.000Z',
- fields: {
- Name: 'Sample Record',
- Status: 'Inactive',
- },
- },
- },
- },
- createdRecordsById: {},
- destroyedRecordIds: [],
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/generic/webhook.ts b/apps/sim/triggers/generic/webhook.ts
index 0595f32b4c..2fb59d6d5f 100644
--- a/apps/sim/triggers/generic/webhook.ts
+++ b/apps/sim/triggers/generic/webhook.ts
@@ -82,32 +82,6 @@ export const genericWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'generic_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- event: 'user.created',
- id: 'evt_1234567890',
- data: {
- user: {
- id: 'user_123',
- email: 'user@example.com',
- name: 'John Doe',
- },
- },
- timestamp: '2023-01-01T12:00:00Z',
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {},
diff --git a/apps/sim/triggers/github/issue_closed.ts b/apps/sim/triggers/github/issue_closed.ts
index 3267d60a69..b4d1efeec5 100644
--- a/apps/sim/triggers/github/issue_closed.ts
+++ b/apps/sim/triggers/github/issue_closed.ts
@@ -111,73 +111,6 @@ export const githubIssueClosedTrigger: TriggerConfig = {
value: 'github_issue_closed',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'closed',
- issue: {
- id: 1234567890,
- number: 123,
- title: 'Bug: Application crashes on startup',
- body: 'When I try to start the application, it immediately crashes with error code 500.',
- state: 'closed',
- state_reason: 'completed',
- html_url: 'https://github.com/owner/repo/issues/123',
- user: {
- login: 'octocat',
- id: 1,
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- html_url: 'https://github.com/octocat',
- user_type: 'User',
- },
- labels: [
- {
- name: 'bug',
- color: 'd73a4a',
- },
- ],
- assignees: [],
- created_at: '2025-01-15T10:30:00Z',
- updated_at: '2025-01-15T14:20:00Z',
- closed_at: '2025-01-15T14:20:00Z',
- },
- repository: {
- id: 123456,
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- avatar_url: 'https://github.com/images/error/owner.gif',
- owner_type: 'User',
- },
- },
- sender: {
- login: 'maintainer',
- id: 2,
- avatar_url: 'https://github.com/images/error/maintainer.gif',
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_issue_closed',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/issue_comment.ts b/apps/sim/triggers/github/issue_comment.ts
index 1e5e49f9be..fd88d591b6 100644
--- a/apps/sim/triggers/github/issue_comment.ts
+++ b/apps/sim/triggers/github/issue_comment.ts
@@ -112,68 +112,6 @@ export const githubIssueCommentTrigger: TriggerConfig = {
value: 'github_issue_comment',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'created',
- issue: {
- number: 123,
- title: 'Bug: Application crashes on startup',
- state: 'open',
- html_url: 'https://github.com/owner/repo/issues/123',
- user: {
- login: 'octocat',
- id: 1,
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- user_type: 'User',
- },
- },
- comment: {
- id: 987654321,
- body: 'I can confirm this bug. It happens on my machine too.',
- html_url: 'https://github.com/owner/repo/issues/123#issuecomment-987654321',
- user: {
- login: 'commenter',
- id: 3,
- avatar_url: 'https://github.com/images/error/commenter.gif',
- user_type: 'User',
- },
- created_at: '2025-01-15T11:00:00Z',
- updated_at: '2025-01-15T11:00:00Z',
- },
- repository: {
- id: 123456,
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- owner: {
- login: 'owner',
- id: 7890,
- owner_type: 'User',
- },
- },
- sender: {
- login: 'commenter',
- id: 3,
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_issue_comment',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/issue_opened.ts b/apps/sim/triggers/github/issue_opened.ts
index 0d1508ed11..49f45dcad8 100644
--- a/apps/sim/triggers/github/issue_opened.ts
+++ b/apps/sim/triggers/github/issue_opened.ts
@@ -132,71 +132,6 @@ export const githubIssueOpenedTrigger: TriggerConfig = {
value: 'github_issue_opened',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'opened',
- issue: {
- id: 1234567890,
- number: 123,
- title: 'Bug: Application crashes on startup',
- body: 'When I try to start the application, it immediately crashes with error code 500.',
- state: 'open',
- html_url: 'https://github.com/owner/repo/issues/123',
- user: {
- login: 'octocat',
- id: 1,
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- html_url: 'https://github.com/octocat',
- user_type: 'User',
- },
- labels: [
- {
- name: 'bug',
- color: 'd73a4a',
- },
- ],
- assignees: [],
- created_at: '2025-01-15T10:30:00Z',
- updated_at: '2025-01-15T10:30:00Z',
- },
- repository: {
- id: 123456,
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- avatar_url: 'https://github.com/images/error/owner.gif',
- owner_type: 'User',
- },
- },
- sender: {
- login: 'octocat',
- id: 1,
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_issue_opened',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/pr_closed.ts b/apps/sim/triggers/github/pr_closed.ts
index dce0bf1721..e652f05610 100644
--- a/apps/sim/triggers/github/pr_closed.ts
+++ b/apps/sim/triggers/github/pr_closed.ts
@@ -112,95 +112,6 @@ export const githubPRClosedTrigger: TriggerConfig = {
value: 'github_pr_closed',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'closed',
- number: 42,
- pull_request: {
- id: 1234567890,
- number: 42,
- title: 'Add new feature',
- body: 'This PR adds a new feature that improves performance.',
- state: 'closed',
- merged: false,
- draft: false,
- html_url: 'https://github.com/owner/repo/pull/42',
- diff_url: 'https://github.com/owner/repo/pull/42.diff',
- patch_url: 'https://github.com/owner/repo/pull/42.patch',
- user: {
- login: 'developer',
- id: 5,
- avatar_url: 'https://github.com/images/error/developer.gif',
- html_url: 'https://github.com/developer',
- user_type: 'User',
- },
- head: {
- ref: 'feature-branch',
- sha: 'abc123def456',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- base: {
- ref: 'main',
- sha: '789ghi012jkl',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- additions: 245,
- deletions: 67,
- changed_files: 12,
- labels: [],
- assignees: [],
- requested_reviewers: [
- {
- login: 'reviewer1',
- id: 6,
- },
- ],
- created_at: '2025-01-15T12:00:00Z',
- updated_at: '2025-01-15T14:30:00Z',
- closed_at: '2025-01-15T14:30:00Z',
- },
- repository: {
- id: 123456,
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- owner_type: 'User',
- },
- },
- sender: {
- login: 'developer',
- id: 5,
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_pr_closed',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/pr_comment.ts b/apps/sim/triggers/github/pr_comment.ts
index 7e52b4f00e..04582a65ab 100644
--- a/apps/sim/triggers/github/pr_comment.ts
+++ b/apps/sim/triggers/github/pr_comment.ts
@@ -112,95 +112,6 @@ export const githubPRCommentTrigger: TriggerConfig = {
value: 'github_pr_comment',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'created',
- issue: {
- id: 1234567890,
- number: 42,
- title: 'Add new feature',
- body: 'This PR adds a new feature that improves performance.',
- state: 'open',
- html_url: 'https://github.com/owner/repo/issues/42',
- user: {
- login: 'developer',
- id: 5,
- node_id: 'MDQ6VXNlcjU=',
- avatar_url: 'https://github.com/images/error/developer.gif',
- html_url: 'https://github.com/developer',
- type: 'User',
- },
- labels: [],
- assignees: [],
- pull_request: {
- url: 'https://api.github.com/repos/owner/repo/pulls/42',
- html_url: 'https://github.com/owner/repo/pull/42',
- diff_url: 'https://github.com/owner/repo/pull/42.diff',
- patch_url: 'https://github.com/owner/repo/pull/42.patch',
- },
- created_at: '2025-01-15T12:00:00Z',
- updated_at: '2025-01-15T12:15:00Z',
- },
- comment: {
- id: 987654321,
- node_id: 'MDEyOklzc3VlQ29tbWVudDk4NzY1NDMyMQ==',
- url: 'https://api.github.com/repos/owner/repo/issues/comments/987654321',
- html_url: 'https://github.com/owner/repo/issues/42#issuecomment-987654321',
- body: 'Great work! This looks good to me.',
- user: {
- login: 'reviewer',
- id: 6,
- node_id: 'MDQ6VXNlcjY=',
- avatar_url: 'https://github.com/images/error/reviewer.gif',
- html_url: 'https://github.com/reviewer',
- type: 'User',
- },
- created_at: '2025-01-15T12:15:00Z',
- updated_at: '2025-01-15T12:15:00Z',
- },
- repository: {
- id: 123456,
- node_id: 'MDEwOlJlcG9zaXRvcnkxMjM0NTY=',
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- node_id: 'MDQ6VXNlcjc4OTA=',
- avatar_url: 'https://github.com/images/error/owner.gif',
- html_url: 'https://github.com/owner',
- type: 'User',
- },
- },
- sender: {
- login: 'reviewer',
- id: 6,
- node_id: 'MDQ6VXNlcjY=',
- avatar_url: 'https://github.com/images/error/reviewer.gif',
- html_url: 'https://github.com/reviewer',
- type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_pr_comment',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/pr_merged.ts b/apps/sim/triggers/github/pr_merged.ts
index 0c76f29290..2f20c90e97 100644
--- a/apps/sim/triggers/github/pr_merged.ts
+++ b/apps/sim/triggers/github/pr_merged.ts
@@ -111,103 +111,6 @@ export const githubPRMergedTrigger: TriggerConfig = {
value: 'github_pr_merged',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'closed',
- number: 42,
- pull_request: {
- id: 1234567890,
- number: 42,
- title: 'Add new feature',
- body: 'This PR adds a new feature that improves performance.',
- state: 'closed',
- merged: true,
- merge_commit_sha: 'mno345pqr678',
- merged_at: '2025-01-15T13:30:00Z',
- merged_by: {
- login: 'maintainer',
- id: 8,
- avatar_url: 'https://github.com/images/error/maintainer.gif',
- html_url: 'https://github.com/maintainer',
- user_type: 'User',
- },
- draft: false,
- html_url: 'https://github.com/owner/repo/pull/42',
- diff_url: 'https://github.com/owner/repo/pull/42.diff',
- patch_url: 'https://github.com/owner/repo/pull/42.patch',
- user: {
- login: 'developer',
- id: 5,
- avatar_url: 'https://github.com/images/error/developer.gif',
- html_url: 'https://github.com/developer',
- user_type: 'User',
- },
- head: {
- ref: 'feature-branch',
- sha: 'abc123def456',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- base: {
- ref: 'main',
- sha: '789ghi012jkl',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- additions: 245,
- deletions: 67,
- changed_files: 12,
- labels: [],
- assignees: [],
- requested_reviewers: [
- {
- login: 'reviewer1',
- id: 6,
- },
- ],
- created_at: '2025-01-15T12:00:00Z',
- updated_at: '2025-01-15T13:30:00Z',
- },
- repository: {
- id: 123456,
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- owner_type: 'User',
- },
- },
- sender: {
- login: 'developer',
- id: 5,
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_pr_merged',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/pr_opened.ts b/apps/sim/triggers/github/pr_opened.ts
index 2e0bf8b2d9..03b523c769 100644
--- a/apps/sim/triggers/github/pr_opened.ts
+++ b/apps/sim/triggers/github/pr_opened.ts
@@ -111,94 +111,6 @@ export const githubPROpenedTrigger: TriggerConfig = {
value: 'github_pr_opened',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'opened',
- number: 42,
- pull_request: {
- id: 1234567890,
- number: 42,
- title: 'Add new feature',
- body: 'This PR adds a new feature that improves performance.',
- state: 'open',
- merged: false,
- draft: false,
- html_url: 'https://github.com/owner/repo/pull/42',
- diff_url: 'https://github.com/owner/repo/pull/42.diff',
- patch_url: 'https://github.com/owner/repo/pull/42.patch',
- user: {
- login: 'developer',
- id: 5,
- avatar_url: 'https://github.com/images/error/developer.gif',
- html_url: 'https://github.com/developer',
- user_type: 'User',
- },
- head: {
- ref: 'feature-branch',
- sha: 'abc123def456',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- base: {
- ref: 'main',
- sha: '789ghi012jkl',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- additions: 245,
- deletions: 67,
- changed_files: 12,
- labels: [],
- assignees: [],
- requested_reviewers: [
- {
- login: 'reviewer1',
- id: 6,
- },
- ],
- created_at: '2025-01-15T12:00:00Z',
- updated_at: '2025-01-15T12:00:00Z',
- },
- repository: {
- id: 123456,
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- owner_type: 'User',
- },
- },
- sender: {
- login: 'developer',
- id: 5,
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_pr_opened',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/pr_reviewed.ts b/apps/sim/triggers/github/pr_reviewed.ts
index abfea8cabf..76ade66d07 100644
--- a/apps/sim/triggers/github/pr_reviewed.ts
+++ b/apps/sim/triggers/github/pr_reviewed.ts
@@ -112,109 +112,6 @@ export const githubPRReviewedTrigger: TriggerConfig = {
value: 'github_pr_reviewed',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'submitted',
- review: {
- id: 80,
- node_id: 'MDE3OlB1bGxSZXF1ZXN0UmV2aWV3ODA=',
- user: {
- login: 'reviewer',
- id: 6,
- node_id: 'MDQ6VXNlcjY=',
- avatar_url: 'https://github.com/images/error/reviewer.gif',
- html_url: 'https://github.com/reviewer',
- type: 'User',
- },
- body: 'This looks great! Nice work.',
- state: 'approved',
- html_url: 'https://github.com/owner/repo/pull/42#pullrequestreview-80',
- submitted_at: '2025-01-15T14:00:00Z',
- commit_id: 'abc123def456',
- author_association: 'COLLABORATOR',
- },
- pull_request: {
- id: 1234567890,
- number: 42,
- node_id: 'MDExOlB1bGxSZXF1ZXN0MQ==',
- title: 'Add new feature',
- body: 'This PR adds a new feature that improves performance.',
- state: 'open',
- merged: false,
- draft: false,
- html_url: 'https://github.com/owner/repo/pull/42',
- diff_url: 'https://github.com/owner/repo/pull/42.diff',
- patch_url: 'https://github.com/owner/repo/pull/42.patch',
- user: {
- login: 'developer',
- id: 5,
- node_id: 'MDQ6VXNlcjU=',
- avatar_url: 'https://github.com/images/error/developer.gif',
- html_url: 'https://github.com/developer',
- type: 'User',
- },
- head: {
- ref: 'feature-branch',
- sha: 'abc123def456',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- base: {
- ref: 'main',
- sha: '789ghi012jkl',
- repo: {
- name: 'repo-name',
- full_name: 'owner/repo-name',
- },
- },
- created_at: '2025-01-15T12:00:00Z',
- updated_at: '2025-01-15T14:00:00Z',
- },
- repository: {
- id: 123456,
- node_id: 'MDEwOlJlcG9zaXRvcnkxMjM0NTY=',
- name: 'repo-name',
- full_name: 'owner/repo-name',
- html_url: 'https://github.com/owner/repo-name',
- description: 'A sample repository',
- private: false,
- owner: {
- login: 'owner',
- id: 7890,
- node_id: 'MDQ6VXNlcjc4OTA=',
- avatar_url: 'https://github.com/images/error/owner.gif',
- html_url: 'https://github.com/owner',
- type: 'User',
- },
- },
- sender: {
- login: 'reviewer',
- id: 6,
- node_id: 'MDQ6VXNlcjY=',
- avatar_url: 'https://github.com/images/error/reviewer.gif',
- html_url: 'https://github.com/reviewer',
- type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_pr_reviewed',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/push.ts b/apps/sim/triggers/github/push.ts
index 5f304d7f29..4d5df8e7f9 100644
--- a/apps/sim/triggers/github/push.ts
+++ b/apps/sim/triggers/github/push.ts
@@ -111,138 +111,6 @@ export const githubPushTrigger: TriggerConfig = {
value: 'github_push',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- ref: 'refs/heads/main',
- before: '0000000000000000000000000000000000000000',
- after: 'abc123def456789ghi012jkl345mno678pqr901',
- created: true,
- deleted: false,
- forced: false,
- base_ref: null,
- compare: 'https://github.com/owner/repo-name/compare/0000000000000000...abc123def456',
- commits: [
- {
- id: 'abc123def456789ghi012jkl345mno678pqr901',
- tree_id: 'tree123abc456def789ghi012jkl345mno678',
- distinct: true,
- message: 'Add new feature to improve performance',
- timestamp: '2025-01-15T12:00:00Z',
- url: 'https://github.com/owner/repo-name/commit/abc123def456789ghi012jkl345mno678pqr901',
- author: {
- name: 'Developer Name',
- email: 'developer@example.com',
- username: 'developer',
- },
- committer: {
- name: 'Developer Name',
- email: 'developer@example.com',
- username: 'developer',
- },
- added: ['src/features/new-feature.ts'],
- removed: [],
- modified: ['src/index.ts', 'README.md'],
- },
- {
- id: 'def456ghi789jkl012mno345pqr678stu901vwx',
- tree_id: 'tree456def789ghi012jkl345mno678pqr901',
- distinct: true,
- message: 'Update documentation',
- timestamp: '2025-01-15T12:15:00Z',
- url: 'https://github.com/owner/repo-name/commit/def456ghi789jkl012mno345pqr678stu901vwx',
- author: {
- name: 'Developer Name',
- email: 'developer@example.com',
- username: 'developer',
- },
- committer: {
- name: 'Developer Name',
- email: 'developer@example.com',
- username: 'developer',
- },
- added: [],
- removed: [],
- modified: ['docs/API.md'],
- },
- ],
- head_commit: {
- id: 'def456ghi789jkl012mno345pqr678stu901vwx',
- tree_id: 'tree456def789ghi012jkl345mno678pqr901',
- distinct: true,
- message: 'Update documentation',
- timestamp: '2025-01-15T12:15:00Z',
- url: 'https://github.com/owner/repo-name/commit/def456ghi789jkl012mno345pqr678stu901vwx',
- author: {
- name: 'Developer Name',
- email: 'developer@example.com',
- username: 'developer',
- },
- committer: {
- name: 'Developer Name',
- email: 'developer@example.com',
- username: 'developer',
- },
- added: [],
- removed: [],
- modified: ['docs/API.md'],
- },
- pusher: {
- name: 'developer',
- email: 'developer@example.com',
- },
- repository: {
- id: 123456,
- node_id: 'MDEwOlJlcG9zaXRvcnkxMjM0NTY=',
- name: 'repo-name',
- full_name: 'owner/repo-name',
- private: false,
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository for demonstrating push events',
- fork: false,
- url: 'https://api.github.com/repos/owner/repo-name',
- homepage: 'https://example.com',
- size: 1024,
- stargazers_count: 42,
- watchers_count: 42,
- language: 'TypeScript',
- forks_count: 5,
- open_issues_count: 3,
- default_branch: 'main',
- owner: {
- login: 'owner',
- id: 7890,
- node_id: 'MDQ6VXNlcjc4OTA=',
- avatar_url: 'https://github.com/images/error/owner.gif',
- html_url: 'https://github.com/owner',
- owner_type: 'User',
- },
- },
- sender: {
- login: 'developer',
- id: 5,
- node_id: 'MDQ6VXNlcjU=',
- avatar_url: 'https://github.com/images/error/developer.gif',
- html_url: 'https://github.com/developer',
- user_type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_push',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/release_published.ts b/apps/sim/triggers/github/release_published.ts
index 913062b25b..8c3d5ef2d9 100644
--- a/apps/sim/triggers/github/release_published.ts
+++ b/apps/sim/triggers/github/release_published.ts
@@ -111,238 +111,6 @@ export const githubReleasePublishedTrigger: TriggerConfig = {
value: 'github_release_published',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'published',
- release: {
- id: 123456789,
- node_id: 'RE_kwDOABCDEF4HFGijkl',
- tag_name: 'v1.0.0',
- target_commitish: 'main',
- name: 'v1.0.0 - Initial Release',
- body: 'This is the first stable release of our project.\n\n## Features\n- Feature A\n- Feature B\n- Feature C\n\n## Bug Fixes\n- Fixed issue #123\n- Fixed issue #456',
- draft: false,
- prerelease: false,
- created_at: '2025-01-15T10:00:00Z',
- published_at: '2025-01-15T12:00:00Z',
- url: 'https://api.github.com/repos/owner/repo-name/releases/123456789',
- html_url: 'https://github.com/owner/repo-name/releases/tag/v1.0.0',
- assets_url: 'https://api.github.com/repos/owner/repo-name/releases/123456789/assets',
- upload_url:
- 'https://uploads.github.com/repos/owner/repo-name/releases/123456789/assets{?name,label}',
- tarball_url: 'https://api.github.com/repos/owner/repo-name/tarball/v1.0.0',
- zipball_url: 'https://api.github.com/repos/owner/repo-name/zipball/v1.0.0',
- discussion_url: 'https://github.com/owner/repo-name/discussions/100',
- author: {
- login: 'releasemanager',
- id: 12345,
- node_id: 'MDQ6VXNlcjEyMzQ1',
- avatar_url: 'https://avatars.githubusercontent.com/u/12345?v=4',
- gravatar_id: '',
- url: 'https://api.github.com/users/releasemanager',
- html_url: 'https://github.com/releasemanager',
- followers_url: 'https://api.github.com/users/releasemanager/followers',
- following_url: 'https://api.github.com/users/releasemanager/following{/other_user}',
- gists_url: 'https://api.github.com/users/releasemanager/gists{/gist_id}',
- starred_url: 'https://api.github.com/users/releasemanager/starred{/owner}{/repo}',
- subscriptions_url: 'https://api.github.com/users/releasemanager/subscriptions',
- organizations_url: 'https://api.github.com/users/releasemanager/orgs',
- repos_url: 'https://api.github.com/users/releasemanager/repos',
- events_url: 'https://api.github.com/users/releasemanager/events{/privacy}',
- received_events_url: 'https://api.github.com/users/releasemanager/received_events',
- user_type: 'User',
- site_admin: false,
- },
- assets: [
- {
- id: 987654321,
- node_id: 'RA_kwDOABCDEF4DcXYZ',
- name: 'release-v1.0.0-linux-amd64.tar.gz',
- label: 'Linux AMD64 Binary',
- content_type: 'application/gzip',
- state: 'uploaded',
- size: 15728640,
- download_count: 42,
- created_at: '2025-01-15T11:30:00Z',
- updated_at: '2025-01-15T11:30:00Z',
- browser_download_url:
- 'https://github.com/owner/repo-name/releases/download/v1.0.0/release-v1.0.0-linux-amd64.tar.gz',
- url: 'https://api.github.com/repos/owner/repo-name/releases/assets/987654321',
- uploader: {
- login: 'releasemanager',
- id: 12345,
- node_id: 'MDQ6VXNlcjEyMzQ1',
- avatar_url: 'https://avatars.githubusercontent.com/u/12345?v=4',
- html_url: 'https://github.com/releasemanager',
- user_type: 'User',
- },
- },
- {
- id: 987654322,
- node_id: 'RA_kwDOABCDEF4DcXYa',
- name: 'release-v1.0.0-darwin-amd64.tar.gz',
- label: 'macOS AMD64 Binary',
- content_type: 'application/gzip',
- state: 'uploaded',
- size: 14680064,
- download_count: 28,
- created_at: '2025-01-15T11:30:00Z',
- updated_at: '2025-01-15T11:30:00Z',
- browser_download_url:
- 'https://github.com/owner/repo-name/releases/download/v1.0.0/release-v1.0.0-darwin-amd64.tar.gz',
- url: 'https://api.github.com/repos/owner/repo-name/releases/assets/987654322',
- uploader: {
- login: 'releasemanager',
- id: 12345,
- node_id: 'MDQ6VXNlcjEyMzQ1',
- avatar_url: 'https://avatars.githubusercontent.com/u/12345?v=4',
- html_url: 'https://github.com/releasemanager',
- user_type: 'User',
- },
- },
- ],
- },
- repository: {
- id: 123456,
- node_id: 'R_kgDOABCDEF',
- name: 'repo-name',
- full_name: 'owner/repo-name',
- private: false,
- html_url: 'https://github.com/owner/repo-name',
- repo_description: 'A sample repository for demonstrating GitHub release webhooks',
- fork: false,
- url: 'https://api.github.com/repos/owner/repo-name',
- archive_url: 'https://api.github.com/repos/owner/repo-name/{archive_format}{/ref}',
- assignees_url: 'https://api.github.com/repos/owner/repo-name/assignees{/user}',
- blobs_url: 'https://api.github.com/repos/owner/repo-name/git/blobs{/sha}',
- branches_url: 'https://api.github.com/repos/owner/repo-name/branches{/branch}',
- collaborators_url:
- 'https://api.github.com/repos/owner/repo-name/collaborators{/collaborator}',
- comments_url: 'https://api.github.com/repos/owner/repo-name/comments{/number}',
- commits_url: 'https://api.github.com/repos/owner/repo-name/commits{/sha}',
- compare_url: 'https://api.github.com/repos/owner/repo-name/compare/{base}...{head}',
- contents_url: 'https://api.github.com/repos/owner/repo-name/contents/{+path}',
- contributors_url: 'https://api.github.com/repos/owner/repo-name/contributors',
- deployments_url: 'https://api.github.com/repos/owner/repo-name/deployments',
- downloads_url: 'https://api.github.com/repos/owner/repo-name/downloads',
- events_url: 'https://api.github.com/repos/owner/repo-name/events',
- forks_url: 'https://api.github.com/repos/owner/repo-name/forks',
- git_commits_url: 'https://api.github.com/repos/owner/repo-name/git/commits{/sha}',
- git_refs_url: 'https://api.github.com/repos/owner/repo-name/git/refs{/sha}',
- git_tags_url: 'https://api.github.com/repos/owner/repo-name/git/tags{/sha}',
- hooks_url: 'https://api.github.com/repos/owner/repo-name/hooks',
- issue_comment_url:
- 'https://api.github.com/repos/owner/repo-name/issues/comments{/number}',
- issue_events_url: 'https://api.github.com/repos/owner/repo-name/issues/events{/number}',
- issues_url: 'https://api.github.com/repos/owner/repo-name/issues{/number}',
- keys_url: 'https://api.github.com/repos/owner/repo-name/keys{/key_id}',
- labels_url: 'https://api.github.com/repos/owner/repo-name/labels{/name}',
- languages_url: 'https://api.github.com/repos/owner/repo-name/languages',
- merges_url: 'https://api.github.com/repos/owner/repo-name/merges',
- milestones_url: 'https://api.github.com/repos/owner/repo-name/milestones{/number}',
- notifications_url:
- 'https://api.github.com/repos/owner/repo-name/notifications{?since,all,participating}',
- pulls_url: 'https://api.github.com/repos/owner/repo-name/pulls{/number}',
- releases_url: 'https://api.github.com/repos/owner/repo-name/releases{/id}',
- stargazers_url: 'https://api.github.com/repos/owner/repo-name/stargazers',
- statuses_url: 'https://api.github.com/repos/owner/repo-name/statuses/{sha}',
- subscribers_url: 'https://api.github.com/repos/owner/repo-name/subscribers',
- subscription_url: 'https://api.github.com/repos/owner/repo-name/subscription',
- tags_url: 'https://api.github.com/repos/owner/repo-name/tags',
- teams_url: 'https://api.github.com/repos/owner/repo-name/teams',
- trees_url: 'https://api.github.com/repos/owner/repo-name/git/trees{/sha}',
- homepage: 'https://example.com',
- size: 1024,
- stargazers_count: 350,
- watchers_count: 350,
- language: 'TypeScript',
- has_issues: true,
- has_projects: true,
- has_downloads: true,
- has_wiki: true,
- has_pages: false,
- forks_count: 42,
- mirror_url: null,
- archived: false,
- disabled: false,
- open_issues_count: 12,
- license: {
- key: 'mit',
- name: 'MIT License',
- spdx_id: 'MIT',
- url: 'https://api.github.com/licenses/mit',
- node_id: 'MDc6TGljZW5zZTEz',
- },
- allow_forking: true,
- is_template: false,
- topics: ['javascript', 'typescript', 'nodejs'],
- visibility: 'public',
- forks: 42,
- open_issues: 12,
- watchers: 350,
- default_branch: 'main',
- created_at: '2020-01-01T00:00:00Z',
- updated_at: '2025-01-15T12:00:00Z',
- pushed_at: '2025-01-15T11:45:00Z',
- owner: {
- login: 'owner',
- id: 7890,
- node_id: 'MDQ6VXNlcjc4OTA=',
- avatar_url: 'https://avatars.githubusercontent.com/u/7890?v=4',
- gravatar_id: '',
- url: 'https://api.github.com/users/owner',
- html_url: 'https://github.com/owner',
- followers_url: 'https://api.github.com/users/owner/followers',
- following_url: 'https://api.github.com/users/owner/following{/other_user}',
- gists_url: 'https://api.github.com/users/owner/gists{/gist_id}',
- starred_url: 'https://api.github.com/users/owner/starred{/owner}{/repo}',
- subscriptions_url: 'https://api.github.com/users/owner/subscriptions',
- organizations_url: 'https://api.github.com/users/owner/orgs',
- repos_url: 'https://api.github.com/users/owner/repos',
- events_url: 'https://api.github.com/users/owner/events{/privacy}',
- received_events_url: 'https://api.github.com/users/owner/received_events',
- owner_type: 'User',
- site_admin: false,
- },
- },
- sender: {
- login: 'releasemanager',
- id: 12345,
- node_id: 'MDQ6VXNlcjEyMzQ1',
- avatar_url: 'https://avatars.githubusercontent.com/u/12345?v=4',
- gravatar_id: '',
- url: 'https://api.github.com/users/releasemanager',
- html_url: 'https://github.com/releasemanager',
- followers_url: 'https://api.github.com/users/releasemanager/followers',
- following_url: 'https://api.github.com/users/releasemanager/following{/other_user}',
- gists_url: 'https://api.github.com/users/releasemanager/gists{/gist_id}',
- starred_url: 'https://api.github.com/users/releasemanager/starred{/owner}{/repo}',
- subscriptions_url: 'https://api.github.com/users/releasemanager/subscriptions',
- organizations_url: 'https://api.github.com/users/releasemanager/orgs',
- repos_url: 'https://api.github.com/users/releasemanager/repos',
- events_url: 'https://api.github.com/users/releasemanager/events{/privacy}',
- received_events_url: 'https://api.github.com/users/releasemanager/received_events',
- user_type: 'User',
- site_admin: false,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_release_published',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/webhook.ts b/apps/sim/triggers/github/webhook.ts
index 109f7e4e7d..11022f8f66 100644
--- a/apps/sim/triggers/github/webhook.ts
+++ b/apps/sim/triggers/github/webhook.ts
@@ -108,60 +108,6 @@ export const githubWebhookTrigger: TriggerConfig = {
value: 'github_webhook',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'opened',
- number: 1,
- pull_request: {
- id: 1,
- number: 1,
- state: 'open',
- title: 'Update README',
- user: {
- login: 'octocat',
- id: 1,
- },
- body: 'This is a pretty simple change that we need to pull into main.',
- head: {
- ref: 'feature-branch',
- sha: 'abc123',
- },
- base: {
- ref: 'main',
- sha: 'def456',
- },
- },
- repository: {
- id: 35129377,
- name: 'public-repo',
- full_name: 'baxterthehacker/public-repo',
- owner: {
- login: 'baxterthehacker',
- id: 6752317,
- },
- },
- sender: {
- login: 'baxterthehacker',
- id: 6752317,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_webhook',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/github/workflow_run.ts b/apps/sim/triggers/github/workflow_run.ts
index 47ea68e80a..9e6940ec0f 100644
--- a/apps/sim/triggers/github/workflow_run.ts
+++ b/apps/sim/triggers/github/workflow_run.ts
@@ -112,133 +112,6 @@ export const githubWorkflowRunTrigger: TriggerConfig = {
value: 'github_workflow_run',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'completed',
- workflow_run: {
- id: 30433642,
- node_id: 'MDEyOldvcmtmbG93IFJ1bjI2OTI4OQ==',
- name: 'Build',
- workflow_id: 159038,
- run_number: 562,
- run_attempt: 1,
- event: 'push',
- status: 'completed',
- conclusion: 'success',
- head_branch: 'master',
- head_sha: 'acb5820ced9479c074f688cc328bf03f341a511d',
- path: '.github/workflows/build.yml',
- display_title: 'Update README',
- run_started_at: '2020-01-22T19:33:08Z',
- created_at: '2020-01-22T19:33:08Z',
- updated_at: '2020-01-22T19:33:08Z',
- html_url: 'https://github.com/octo-org/octo-repo/actions/runs/30433642',
- check_suite_id: 42,
- check_suite_node_id: 'MDEwOkNoZWNrU3VpdGU0Mg==',
- url: 'https://api.github.com/repos/octo-org/octo-repo/actions/runs/30433642',
- actor: {
- login: 'octocat',
- id: 1,
- node_id: 'MDQ6VXNlcjE=',
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- html_url: 'https://github.com/octocat',
- type: 'User',
- },
- triggering_actor: {
- login: 'octocat',
- id: 1,
- node_id: 'MDQ6VXNlcjE=',
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- html_url: 'https://github.com/octocat',
- type: 'User',
- },
- repository: {
- id: 1296269,
- node_id: 'MDEwOlJlcG9zaXRvcnkxMjk2MjY5',
- name: 'Hello-World',
- full_name: 'octocat/Hello-World',
- private: false,
- },
- head_repository: {
- id: 1296269,
- node_id: 'MDEwOlJlcG9zaXRvcnkxMjk2MjY5',
- name: 'Hello-World',
- full_name: 'octocat/Hello-World',
- private: false,
- },
- head_commit: {
- id: 'acb5820ced9479c074f688cc328bf03f341a511d',
- tree_id: 'd23f6eedb1e1b34603681f77168dc1c4',
- message: 'Update README.md',
- timestamp: '2020-01-22T19:33:05Z',
- author: {
- name: 'Octo Cat',
- email: 'octocat@github.com',
- },
- committer: {
- name: 'GitHub',
- email: 'noreply@github.com',
- },
- },
- pull_requests: [],
- referenced_workflows: [],
- },
- workflow: {
- id: 159038,
- node_id: 'MDg6V29ya2Zsb3cxNTkwMzg=',
- name: 'Build',
- path: '.github/workflows/build.yml',
- state: 'active',
- created_at: '2020-01-08T23:48:37.000-08:00',
- updated_at: '2020-01-08T23:50:21.000-08:00',
- url: 'https://api.github.com/repos/octo-org/octo-repo/actions/workflows/159038',
- html_url:
- 'https://github.com/octo-org/octo-repo/blob/master/.github/workflows/build.yml',
- badge_url: 'https://github.com/octo-org/octo-repo/workflows/Build/badge.svg',
- },
- repository: {
- id: 1296269,
- node_id: 'MDEwOlJlcG9zaXRvcnkxMjk2MjY5',
- name: 'Hello-World',
- full_name: 'octocat/Hello-World',
- html_url: 'https://github.com/octocat/Hello-World',
- description: 'This your first repo!',
- private: false,
- owner: {
- login: 'octocat',
- id: 1,
- node_id: 'MDQ6VXNlcjE=',
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- html_url: 'https://github.com/octocat',
- type: 'User',
- },
- },
- sender: {
- login: 'octocat',
- id: 1,
- node_id: 'MDQ6VXNlcjE=',
- avatar_url: 'https://github.com/images/error/octocat_happy.gif',
- html_url: 'https://github.com/octocat',
- type: 'User',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'github_workflow_run',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/gmail/poller.ts b/apps/sim/triggers/gmail/poller.ts
index ab33c9619a..e8d6dcf2d5 100644
--- a/apps/sim/triggers/gmail/poller.ts
+++ b/apps/sim/triggers/gmail/poller.ts
@@ -125,39 +125,6 @@ export const gmailPollingTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'gmail_poller',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- email: {
- id: '18e0ffabd5b5a0f4',
- threadId: '18e0ffabd5b5a0f4',
- subject: 'Monthly Report - April 2025',
- from: 'sender@example.com',
- to: 'recipient@example.com',
- cc: 'team@example.com',
- date: '2025-05-10T10:15:23.000Z',
- bodyText:
- 'Hello,\n\nPlease find attached the monthly report for April 2025.\n\nBest regards,\nSender',
- bodyHtml:
- 'Hello,
Please find attached the monthly report for April 2025.
Best regards,
Sender
',
- labels: ['INBOX', 'IMPORTANT'],
- hasAttachments: true,
- attachments: [],
- },
- timestamp: '2025-05-10T10:15:30.123Z',
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/googleforms/webhook.ts b/apps/sim/triggers/googleforms/webhook.ts
index 3f4b713aeb..832bfcb8b9 100644
--- a/apps/sim/triggers/googleforms/webhook.ts
+++ b/apps/sim/triggers/googleforms/webhook.ts
@@ -151,33 +151,6 @@ export const googleFormsWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'google_forms_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- provider: 'google_forms',
- formId: '1FAIpQLSdEXAMPLE',
- responseId: 'R_12345',
- createTime: '2025-01-01T12:00:00.000Z',
- lastSubmittedTime: '2025-01-01T12:00:00.000Z',
- answers: {
- 'What is your name?': 'Ada Lovelace',
- Languages: ['TypeScript', 'Python'],
- 'Subscribed?': true,
- },
- raw: { any: 'original payload from Apps Script if included' },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/index.ts b/apps/sim/triggers/index.ts
index c277b5b157..7f508523e2 100644
--- a/apps/sim/triggers/index.ts
+++ b/apps/sim/triggers/index.ts
@@ -1,20 +1,59 @@
+import { generateMockPayloadFromOutputsDefinition } from '@/lib/workflows/trigger-utils'
+import type { SubBlockConfig } from '@/blocks/types'
import { TRIGGER_REGISTRY } from '@/triggers/registry'
import type { TriggerConfig } from '@/triggers/types'
+/**
+ * Gets a trigger config and injects samplePayload subblock with condition
+ * The condition assumes the trigger will be used in a multi-trigger block
+ */
export function getTrigger(triggerId: string): TriggerConfig {
const trigger = TRIGGER_REGISTRY[triggerId]
if (!trigger) {
throw new Error(`Trigger not found: ${triggerId}`)
}
- return trigger
+
+ const clonedTrigger = { ...trigger, subBlocks: [...trigger.subBlocks] }
+
+ // Inject samplePayload for webhooks/pollers with condition
+ if (trigger.webhook || trigger.id.includes('webhook') || trigger.id.includes('poller')) {
+ const samplePayloadExists = clonedTrigger.subBlocks.some((sb) => sb.id === 'samplePayload')
+
+ if (!samplePayloadExists && trigger.outputs) {
+ const mockPayload = generateMockPayloadFromOutputsDefinition(trigger.outputs)
+ const generatedPayload = JSON.stringify(mockPayload, null, 2)
+
+ const samplePayloadSubBlock: SubBlockConfig = {
+ id: 'samplePayload',
+ title: 'Event Payload Example',
+ type: 'code',
+ language: 'json',
+ defaultValue: generatedPayload,
+ readOnly: true,
+ collapsible: true,
+ defaultCollapsed: true,
+ mode: 'trigger',
+ condition: {
+ field: 'selectedTriggerId',
+ value: trigger.id,
+ },
+ }
+
+ clonedTrigger.subBlocks.push(samplePayloadSubBlock)
+ }
+ }
+
+ return clonedTrigger
}
export function getTriggersByProvider(provider: string): TriggerConfig[] {
- return Object.values(TRIGGER_REGISTRY).filter((trigger) => trigger.provider === provider)
+ return Object.values(TRIGGER_REGISTRY)
+ .filter((trigger) => trigger.provider === provider)
+ .map((trigger) => getTrigger(trigger.id))
}
export function getAllTriggers(): TriggerConfig[] {
- return Object.values(TRIGGER_REGISTRY)
+ return Object.keys(TRIGGER_REGISTRY).map((triggerId) => getTrigger(triggerId))
}
export function getTriggerIds(): string[] {
diff --git a/apps/sim/triggers/jira/issue_commented.ts b/apps/sim/triggers/jira/issue_commented.ts
index 0500b77b13..05b1929c7d 100644
--- a/apps/sim/triggers/jira/issue_commented.ts
+++ b/apps/sim/triggers/jira/issue_commented.ts
@@ -78,81 +78,6 @@ export const jiraIssueCommentedTrigger: TriggerConfig = {
value: 'jira_issue_commented',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- timestamp: 1234567890000,
- webhookEvent: 'comment_created',
- issue: {
- id: '10001',
- key: 'PROJ-123',
- self: 'https://your-domain.atlassian.net/rest/api/2/issue/10001',
- fields: {
- summary: 'Bug needs investigation',
- status: {
- name: 'In Progress',
- id: '10001',
- statusCategory: {
- key: 'indeterminate',
- name: 'In Progress',
- },
- },
- priority: {
- name: 'High',
- id: '2',
- },
- assignee: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- reporter: {
- displayName: 'Jane Smith',
- accountId: '557058:b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7',
- emailAddress: 'jane.smith@example.com',
- },
- project: {
- key: 'PROJ',
- name: 'Project Name',
- id: '10000',
- },
- issuetype: {
- name: 'Bug',
- id: '10004',
- },
- created: '2024-01-15T10:30:00.000+0000',
- updated: '2024-01-15T15:45:00.000+0000',
- labels: ['backend', 'urgent'],
- },
- },
- comment: {
- id: '10050',
- body: 'I found the root cause. The issue is in the authentication service.',
- author: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- created: '2024-01-15T15:45:00.000+0000',
- updated: '2024-01-15T15:45:00.000+0000',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'jira_issue_commented',
- },
- },
],
outputs: buildCommentOutputs(),
diff --git a/apps/sim/triggers/jira/issue_created.ts b/apps/sim/triggers/jira/issue_created.ts
index b6a3eb04b3..54bcf8aa54 100644
--- a/apps/sim/triggers/jira/issue_created.ts
+++ b/apps/sim/triggers/jira/issue_created.ts
@@ -87,71 +87,6 @@ export const jiraIssueCreatedTrigger: TriggerConfig = {
value: 'jira_issue_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- timestamp: 1234567890000,
- webhookEvent: 'jira:issue_created',
- issue_event_type_name: 'issue_created',
- issue: {
- id: '10001',
- key: 'PROJ-123',
- self: 'https://your-domain.atlassian.net/rest/api/2/issue/10001',
- fields: {
- summary: 'New bug reported in production',
- status: {
- name: 'To Do',
- id: '10000',
- statusCategory: {
- key: 'new',
- name: 'To Do',
- },
- },
- priority: {
- name: 'High',
- id: '2',
- },
- assignee: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- reporter: {
- displayName: 'Jane Smith',
- accountId: '557058:b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7',
- emailAddress: 'jane.smith@example.com',
- },
- project: {
- key: 'PROJ',
- name: 'Project Name',
- id: '10000',
- },
- issuetype: {
- name: 'Bug',
- id: '10004',
- },
- created: '2024-01-15T10:30:00.000+0000',
- updated: '2024-01-15T10:30:00.000+0000',
- labels: ['backend', 'urgent'],
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'jira_issue_created',
- },
- },
],
outputs: buildIssueOutputs(),
diff --git a/apps/sim/triggers/jira/issue_deleted.ts b/apps/sim/triggers/jira/issue_deleted.ts
index 4770962e3f..be9bd8aac8 100644
--- a/apps/sim/triggers/jira/issue_deleted.ts
+++ b/apps/sim/triggers/jira/issue_deleted.ts
@@ -78,71 +78,6 @@ export const jiraIssueDeletedTrigger: TriggerConfig = {
value: 'jira_issue_deleted',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- timestamp: 1234567890000,
- webhookEvent: 'jira:issue_deleted',
- issue_event_type_name: 'issue_deleted',
- issue: {
- id: '10001',
- key: 'PROJ-123',
- self: 'https://your-domain.atlassian.net/rest/api/2/issue/10001',
- fields: {
- summary: 'Duplicate issue - deleted',
- status: {
- name: 'Done',
- id: '10002',
- statusCategory: {
- key: 'done',
- name: 'Done',
- },
- },
- priority: {
- name: 'Low',
- id: '4',
- },
- assignee: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- reporter: {
- displayName: 'Jane Smith',
- accountId: '557058:b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7',
- emailAddress: 'jane.smith@example.com',
- },
- project: {
- key: 'PROJ',
- name: 'Project Name',
- id: '10000',
- },
- issuetype: {
- name: 'Bug',
- id: '10004',
- },
- created: '2024-01-15T10:30:00.000+0000',
- updated: '2024-01-15T17:00:00.000+0000',
- labels: ['duplicate'],
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'jira_issue_deleted',
- },
- },
],
outputs: buildIssueOutputs(),
diff --git a/apps/sim/triggers/jira/issue_updated.ts b/apps/sim/triggers/jira/issue_updated.ts
index a0d9301696..e6b2767aeb 100644
--- a/apps/sim/triggers/jira/issue_updated.ts
+++ b/apps/sim/triggers/jira/issue_updated.ts
@@ -92,84 +92,6 @@ export const jiraIssueUpdatedTrigger: TriggerConfig = {
value: 'jira_issue_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- timestamp: 1234567890000,
- webhookEvent: 'jira:issue_updated',
- issue_event_type_name: 'issue_updated',
- issue: {
- id: '10001',
- key: 'PROJ-123',
- self: 'https://your-domain.atlassian.net/rest/api/2/issue/10001',
- fields: {
- summary: 'Bug fix in progress',
- status: {
- name: 'In Progress',
- id: '10001',
- statusCategory: {
- key: 'indeterminate',
- name: 'In Progress',
- },
- },
- priority: {
- name: 'High',
- id: '2',
- },
- assignee: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- reporter: {
- displayName: 'Jane Smith',
- accountId: '557058:b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7',
- emailAddress: 'jane.smith@example.com',
- },
- project: {
- key: 'PROJ',
- name: 'Project Name',
- id: '10000',
- },
- issuetype: {
- name: 'Bug',
- id: '10004',
- },
- created: '2024-01-15T10:30:00.000+0000',
- updated: '2024-01-15T14:25:00.000+0000',
- labels: ['backend', 'urgent'],
- },
- },
- changelog: {
- id: '12345',
- items: [
- {
- field: 'status',
- fieldtype: 'jira',
- from: '10000',
- fromString: 'To Do',
- to: '10001',
- toString: 'In Progress',
- },
- ],
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'jira_issue_updated',
- },
- },
],
outputs: buildIssueUpdatedOutputs(),
diff --git a/apps/sim/triggers/jira/webhook.ts b/apps/sim/triggers/jira/webhook.ts
index 08e1d574db..a4a9e8f57c 100644
--- a/apps/sim/triggers/jira/webhook.ts
+++ b/apps/sim/triggers/jira/webhook.ts
@@ -65,71 +65,6 @@ export const jiraWebhookTrigger: TriggerConfig = {
value: 'jira_webhook',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- timestamp: 1234567890000,
- webhookEvent: 'jira:issue_created',
- issue_event_type_name: 'issue_created',
- issue: {
- id: '10001',
- key: 'PROJ-123',
- self: 'https://your-domain.atlassian.net/rest/api/2/issue/10001',
- fields: {
- summary: 'Sample issue title',
- status: {
- name: 'To Do',
- id: '10000',
- statusCategory: {
- key: 'new',
- name: 'To Do',
- },
- },
- priority: {
- name: 'Medium',
- id: '3',
- },
- assignee: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- reporter: {
- displayName: 'Jane Smith',
- accountId: '557058:b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7',
- emailAddress: 'jane.smith@example.com',
- },
- project: {
- key: 'PROJ',
- name: 'Project Name',
- id: '10000',
- },
- issuetype: {
- name: 'Task',
- id: '10002',
- },
- created: '2024-01-15T10:30:00.000+0000',
- updated: '2024-01-15T10:30:00.000+0000',
- labels: ['backend', 'bug'],
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'jira_webhook',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/jira/worklog_created.ts b/apps/sim/triggers/jira/worklog_created.ts
index 75925ad9e4..3cc46f14ea 100644
--- a/apps/sim/triggers/jira/worklog_created.ts
+++ b/apps/sim/triggers/jira/worklog_created.ts
@@ -78,82 +78,6 @@ export const jiraWorklogCreatedTrigger: TriggerConfig = {
value: 'jira_worklog_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- timestamp: 1234567890000,
- webhookEvent: 'worklog_created',
- issue: {
- id: '10001',
- key: 'PROJ-123',
- self: 'https://your-domain.atlassian.net/rest/api/2/issue/10001',
- fields: {
- summary: 'Implement new feature',
- status: {
- name: 'In Progress',
- id: '10001',
- statusCategory: {
- key: 'indeterminate',
- name: 'In Progress',
- },
- },
- priority: {
- name: 'Medium',
- id: '3',
- },
- assignee: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- reporter: {
- displayName: 'Jane Smith',
- accountId: '557058:b2c3d4e5-6f7g-8h9i-0j1k-l2m3n4o5p6q7',
- emailAddress: 'jane.smith@example.com',
- },
- project: {
- key: 'PROJ',
- name: 'Project Name',
- id: '10000',
- },
- issuetype: {
- name: 'Task',
- id: '10002',
- },
- created: '2024-01-15T10:30:00.000+0000',
- updated: '2024-01-15T16:20:00.000+0000',
- labels: ['feature', 'sprint-1'],
- },
- },
- worklog: {
- id: '10200',
- author: {
- displayName: 'John Doe',
- accountId: '557058:a1b2c3d4-5e6f-7g8h-9i0j-k1l2m3n4o5p6',
- emailAddress: 'john.doe@example.com',
- },
- timeSpent: '3h 30m',
- timeSpentSeconds: 12600,
- comment: 'Completed initial implementation and testing',
- started: '2024-01-15T13:00:00.000+0000',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'jira_worklog_created',
- },
- },
],
outputs: buildWorklogOutputs(),
diff --git a/apps/sim/triggers/linear/comment_created.ts b/apps/sim/triggers/linear/comment_created.ts
index 135cd87f59..9655a8a6c4 100644
--- a/apps/sim/triggers/linear/comment_created.ts
+++ b/apps/sim/triggers/linear/comment_created.ts
@@ -61,48 +61,6 @@ export const linearCommentCreatedTrigger: TriggerConfig = {
value: 'linear_comment_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'Comment',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T13:00:00.000Z',
- actor: {
- id: 'user_234',
- type: 'user',
- name: 'Jane Smith',
- },
- data: {
- id: 'comment_xyz789',
- body: 'I think we should also add support for Microsoft SSO in this implementation.',
- url: 'https://linear.app/acme/issue/ENG-123#comment-xyz789',
- issueId: 'issue_abc123',
- userId: 'user_234',
- editedAt: null,
- createdAt: '2025-11-06T13:00:00.000Z',
- updatedAt: '2025-11-06T13:00:00.000Z',
- archivedAt: null,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_comment_created',
- },
- },
],
outputs: buildCommentOutputs(),
diff --git a/apps/sim/triggers/linear/comment_updated.ts b/apps/sim/triggers/linear/comment_updated.ts
index 6fee722d52..3e9e7cad7f 100644
--- a/apps/sim/triggers/linear/comment_updated.ts
+++ b/apps/sim/triggers/linear/comment_updated.ts
@@ -61,53 +61,6 @@ export const linearCommentUpdatedTrigger: TriggerConfig = {
value: 'linear_comment_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'update',
- type: 'Comment',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937900000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T13:05:00.000Z',
- actor: {
- id: 'user_234',
- type: 'user',
- name: 'Jane Smith',
- },
- data: {
- id: 'comment_xyz789',
- body: 'I think we should also add support for Microsoft SSO and Apple Sign-In in this implementation.',
- url: 'https://linear.app/acme/issue/ENG-123#comment-xyz789',
- issueId: 'issue_abc123',
- userId: 'user_234',
- editedAt: '2025-11-06T13:05:00.000Z',
- createdAt: '2025-11-06T13:00:00.000Z',
- updatedAt: '2025-11-06T13:05:00.000Z',
- archivedAt: null,
- },
- updatedFrom: {
- body: 'I think we should also add support for Microsoft SSO in this implementation.',
- editedAt: null,
- updatedAt: '2025-11-06T13:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_comment_updated',
- },
- },
],
outputs: buildCommentOutputs(),
diff --git a/apps/sim/triggers/linear/customer_request_created.ts b/apps/sim/triggers/linear/customer_request_created.ts
index fa732c6b2a..a84c6f2564 100644
--- a/apps/sim/triggers/linear/customer_request_created.ts
+++ b/apps/sim/triggers/linear/customer_request_created.ts
@@ -61,50 +61,6 @@ export const linearCustomerRequestCreatedTrigger: TriggerConfig = {
value: 'linear_customer_request_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'CustomerNeed',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T12:00:00.000Z',
- actor: {
- id: 'user_123',
- name: 'John Doe',
- type: 'user',
- },
- data: {
- id: 'customer_need_abc123',
- body: 'We need a feature to export data in CSV format',
- priority: 1,
- customerId: 'customer_456',
- issueId: 'issue_789',
- projectId: 'project_567',
- creatorId: 'user_123',
- url: 'https://linear.app/acme/customer-needs/customer_need_abc123',
- createdAt: '2025-11-06T12:00:00.000Z',
- updatedAt: '2025-11-06T12:00:00.000Z',
- archivedAt: null,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_customer_request_created',
- },
- },
],
outputs: buildCustomerRequestOutputs(),
diff --git a/apps/sim/triggers/linear/customer_request_updated.ts b/apps/sim/triggers/linear/customer_request_updated.ts
index a243a72de5..b1fddab272 100644
--- a/apps/sim/triggers/linear/customer_request_updated.ts
+++ b/apps/sim/triggers/linear/customer_request_updated.ts
@@ -61,54 +61,6 @@ export const linearCustomerRequestUpdatedTrigger: TriggerConfig = {
value: 'linear_customer_request_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'update',
- type: 'CustomerNeed',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T12:00:00.000Z',
- actor: {
- id: 'user_123',
- name: 'John Doe',
- type: 'user',
- },
- data: {
- id: 'customer_need_abc123',
- body: 'We need a feature to export data in CSV and JSON formats',
- priority: 1,
- customerId: 'customer_456',
- issueId: 'issue_789',
- projectId: 'project_567',
- creatorId: 'user_123',
- url: 'https://linear.app/acme/customer-needs/customer_need_abc123',
- createdAt: '2025-11-06T12:00:00.000Z',
- updatedAt: '2025-11-06T12:15:00.000Z',
- archivedAt: null,
- },
- updatedFrom: {
- body: 'We need a feature to export data in CSV format',
- updatedAt: '2025-11-06T12:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_customer_request_updated',
- },
- },
],
outputs: buildCustomerRequestOutputs(),
diff --git a/apps/sim/triggers/linear/cycle_created.ts b/apps/sim/triggers/linear/cycle_created.ts
index 51f1641757..9347c7e54f 100644
--- a/apps/sim/triggers/linear/cycle_created.ts
+++ b/apps/sim/triggers/linear/cycle_created.ts
@@ -61,55 +61,6 @@ export const linearCycleCreatedTrigger: TriggerConfig = {
value: 'linear_cycle_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'Cycle',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T09:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'cycle_890',
- number: 12,
- name: 'Cycle 12',
- description: 'November 2025 sprint',
- teamId: 'team_456',
- startsAt: '2025-11-04T00:00:00.000Z',
- endsAt: '2025-11-17T23:59:59.000Z',
- completedAt: null,
- archivedAt: null,
- autoArchivedAt: null,
- createdAt: '2025-11-06T09:00:00.000Z',
- updatedAt: '2025-11-06T09:00:00.000Z',
- progress: 0,
- scopeHistory: [],
- completedScopeHistory: [],
- inProgressScopeHistory: [],
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_cycle_created',
- },
- },
],
outputs: buildCycleOutputs(),
diff --git a/apps/sim/triggers/linear/cycle_updated.ts b/apps/sim/triggers/linear/cycle_updated.ts
index e29c882b4f..e48b4bdd6d 100644
--- a/apps/sim/triggers/linear/cycle_updated.ts
+++ b/apps/sim/triggers/linear/cycle_updated.ts
@@ -61,60 +61,6 @@ export const linearCycleUpdatedTrigger: TriggerConfig = {
value: 'linear_cycle_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'update',
- type: 'Cycle',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730997600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-18T00:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'cycle_890',
- number: 12,
- name: 'Cycle 12',
- description: 'November 2025 sprint - Completed successfully!',
- teamId: 'team_456',
- startsAt: '2025-11-04T00:00:00.000Z',
- endsAt: '2025-11-17T23:59:59.000Z',
- completedAt: '2025-11-18T00:00:00.000Z',
- archivedAt: null,
- autoArchivedAt: null,
- createdAt: '2025-11-06T09:00:00.000Z',
- updatedAt: '2025-11-18T00:00:00.000Z',
- progress: 1,
- scopeHistory: [5, 8, 8],
- completedScopeHistory: [0, 3, 8],
- inProgressScopeHistory: [2, 3, 0],
- },
- updatedFrom: {
- description: 'November 2025 sprint',
- completedAt: null,
- updatedAt: '2025-11-06T09:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_cycle_updated',
- },
- },
],
outputs: buildCycleOutputs(),
diff --git a/apps/sim/triggers/linear/issue_created.ts b/apps/sim/triggers/linear/issue_created.ts
index 4e29368617..fea50aa4aa 100644
--- a/apps/sim/triggers/linear/issue_created.ts
+++ b/apps/sim/triggers/linear/issue_created.ts
@@ -70,70 +70,6 @@ export const linearIssueCreatedTrigger: TriggerConfig = {
value: 'linear_issue_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'Issue',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T12:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'issue_abc123',
- title: 'Implement user authentication',
- description: 'Add OAuth2 authentication flow for user login',
- identifier: 'ENG-123',
- number: 123,
- priority: 2,
- estimate: 5,
- sortOrder: 1000.5,
- teamId: 'team_456',
- stateId: 'state_789',
- assigneeId: 'user_234',
- creatorId: 'user_123',
- projectId: 'project_567',
- cycleId: 'cycle_890',
- parentId: null,
- labelIds: ['label_111', 'label_222'],
- subscriberIds: ['user_123', 'user_234'],
- url: 'https://linear.app/acme/issue/ENG-123',
- branchName: 'eng-123-implement-user-authentication',
- customerTicketCount: 2,
- dueDate: '2025-11-15',
- snoozedUntilAt: null,
- archivedAt: null,
- canceledAt: null,
- completedAt: null,
- startedAt: null,
- triagedAt: '2025-11-06T12:00:00.000Z',
- createdAt: '2025-11-06T12:00:00.000Z',
- updatedAt: '2025-11-06T12:00:00.000Z',
- autoArchivedAt: null,
- autoClosedAt: null,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_issue_created',
- },
- },
],
outputs: buildIssueOutputs(),
diff --git a/apps/sim/triggers/linear/issue_removed.ts b/apps/sim/triggers/linear/issue_removed.ts
index 20aa8dacfa..2afde1a008 100644
--- a/apps/sim/triggers/linear/issue_removed.ts
+++ b/apps/sim/triggers/linear/issue_removed.ts
@@ -61,70 +61,6 @@ export const linearIssueRemovedTrigger: TriggerConfig = {
value: 'linear_issue_removed',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'remove',
- type: 'Issue',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T15:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'issue_abc123',
- title: 'Implement user authentication',
- description: 'Add OAuth2 authentication flow for user login with Google and GitHub',
- identifier: 'ENG-123',
- number: 123,
- priority: 1,
- estimate: 8,
- sortOrder: 1000.5,
- teamId: 'team_456',
- stateId: 'state_started',
- assigneeId: 'user_234',
- creatorId: 'user_123',
- projectId: 'project_567',
- cycleId: 'cycle_890',
- parentId: null,
- labelIds: ['label_111', 'label_222', 'label_333'],
- subscriberIds: ['user_123', 'user_234', 'user_345'],
- url: 'https://linear.app/acme/issue/ENG-123',
- branchName: 'eng-123-implement-user-authentication',
- customerTicketCount: 3,
- dueDate: '2025-11-15',
- snoozedUntilAt: null,
- archivedAt: '2025-11-06T15:00:00.000Z',
- canceledAt: null,
- completedAt: null,
- startedAt: '2025-11-06T12:30:00.000Z',
- triagedAt: '2025-11-06T12:00:00.000Z',
- createdAt: '2025-11-06T12:00:00.000Z',
- updatedAt: '2025-11-06T15:00:00.000Z',
- autoArchivedAt: null,
- autoClosedAt: null,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_issue_removed',
- },
- },
],
outputs: buildIssueOutputs(),
diff --git a/apps/sim/triggers/linear/issue_updated.ts b/apps/sim/triggers/linear/issue_updated.ts
index 2124496844..d963a5c9e1 100644
--- a/apps/sim/triggers/linear/issue_updated.ts
+++ b/apps/sim/triggers/linear/issue_updated.ts
@@ -61,79 +61,6 @@ export const linearIssueUpdatedTrigger: TriggerConfig = {
value: 'linear_issue_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'update',
- type: 'Issue',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T12:30:00.000Z',
- actor: {
- id: 'user_234',
- type: 'user',
- name: 'Jane Smith',
- },
- data: {
- id: 'issue_abc123',
- title: 'Implement user authentication',
- description: 'Add OAuth2 authentication flow for user login with Google and GitHub',
- identifier: 'ENG-123',
- number: 123,
- priority: 1,
- estimate: 8,
- sortOrder: 1000.5,
- teamId: 'team_456',
- stateId: 'state_started',
- assigneeId: 'user_234',
- creatorId: 'user_123',
- projectId: 'project_567',
- cycleId: 'cycle_890',
- parentId: null,
- labelIds: ['label_111', 'label_222', 'label_333'],
- subscriberIds: ['user_123', 'user_234', 'user_345'],
- url: 'https://linear.app/acme/issue/ENG-123',
- branchName: 'eng-123-implement-user-authentication',
- customerTicketCount: 3,
- dueDate: '2025-11-15',
- snoozedUntilAt: null,
- archivedAt: null,
- canceledAt: null,
- completedAt: null,
- startedAt: '2025-11-06T12:30:00.000Z',
- triagedAt: '2025-11-06T12:00:00.000Z',
- createdAt: '2025-11-06T12:00:00.000Z',
- updatedAt: '2025-11-06T12:30:00.000Z',
- autoArchivedAt: null,
- autoClosedAt: null,
- },
- updatedFrom: {
- priority: 2,
- estimate: 5,
- stateId: 'state_789',
- assigneeId: 'user_123',
- description: 'Add OAuth2 authentication flow for user login',
- startedAt: null,
- updatedAt: '2025-11-06T12:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_issue_updated',
- },
- },
],
outputs: buildIssueOutputs(),
diff --git a/apps/sim/triggers/linear/label_created.ts b/apps/sim/triggers/linear/label_created.ts
index bdf17c6946..f82637788f 100644
--- a/apps/sim/triggers/linear/label_created.ts
+++ b/apps/sim/triggers/linear/label_created.ts
@@ -61,50 +61,6 @@ export const linearLabelCreatedTrigger: TriggerConfig = {
value: 'linear_label_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'IssueLabel',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T11:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'label_333',
- name: 'security',
- description: 'Security-related issues',
- color: '#ff0000',
- teamId: 'team_456',
- creatorId: 'user_123',
- isGroup: false,
- parentId: null,
- archivedAt: null,
- createdAt: '2025-11-06T11:00:00.000Z',
- updatedAt: '2025-11-06T11:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_label_created',
- },
- },
],
outputs: buildLabelOutputs(),
diff --git a/apps/sim/triggers/linear/label_updated.ts b/apps/sim/triggers/linear/label_updated.ts
index 648b62f19d..b9fac41dd7 100644
--- a/apps/sim/triggers/linear/label_updated.ts
+++ b/apps/sim/triggers/linear/label_updated.ts
@@ -61,55 +61,6 @@ export const linearLabelUpdatedTrigger: TriggerConfig = {
value: 'linear_label_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'update',
- type: 'IssueLabel',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730938800000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T11:20:00.000Z',
- actor: {
- id: 'user_234',
- type: 'user',
- name: 'Jane Smith',
- },
- data: {
- id: 'label_333',
- name: 'security',
- description: 'Security and vulnerability-related issues',
- color: '#ff3333',
- teamId: 'team_456',
- creatorId: 'user_123',
- isGroup: false,
- parentId: null,
- archivedAt: null,
- createdAt: '2025-11-06T11:00:00.000Z',
- updatedAt: '2025-11-06T11:20:00.000Z',
- },
- updatedFrom: {
- description: 'Security-related issues',
- color: '#ff0000',
- updatedAt: '2025-11-06T11:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_label_updated',
- },
- },
],
outputs: buildLabelOutputs(),
diff --git a/apps/sim/triggers/linear/project_created.ts b/apps/sim/triggers/linear/project_created.ts
index ec2a8f0659..1ef8c7c9bb 100644
--- a/apps/sim/triggers/linear/project_created.ts
+++ b/apps/sim/triggers/linear/project_created.ts
@@ -61,65 +61,6 @@ export const linearProjectCreatedTrigger: TriggerConfig = {
value: 'linear_project_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'Project',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T10:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'project_567',
- name: 'Q4 Authentication Improvements',
- description: 'Comprehensive authentication and security improvements for Q4 2025',
- icon: '🔐',
- color: '#4285F4',
- state: 'planned',
- slugId: 'q4-auth',
- url: 'https://linear.app/acme/project/q4-auth',
- leadId: 'user_123',
- creatorId: 'user_123',
- memberIds: ['user_123', 'user_234', 'user_345'],
- teamIds: ['team_456'],
- priority: 1,
- sortOrder: 100.5,
- startDate: '2025-10-01',
- targetDate: '2025-12-31',
- startedAt: null,
- completedAt: null,
- canceledAt: null,
- archivedAt: null,
- createdAt: '2025-11-06T10:00:00.000Z',
- updatedAt: '2025-11-06T10:00:00.000Z',
- progress: 0,
- scope: 0,
- statusId: 'status_planned',
- bodyData: null,
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_project_created',
- },
- },
],
outputs: buildProjectOutputs(),
diff --git a/apps/sim/triggers/linear/project_update_created.ts b/apps/sim/triggers/linear/project_update_created.ts
index f081187364..0f3bccca8d 100644
--- a/apps/sim/triggers/linear/project_update_created.ts
+++ b/apps/sim/triggers/linear/project_update_created.ts
@@ -61,48 +61,6 @@ export const linearProjectUpdateCreatedTrigger: TriggerConfig = {
value: 'linear_project_update_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'ProjectUpdate',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T16:00:00.000Z',
- actor: {
- id: 'user_234',
- type: 'user',
- name: 'Jane Smith',
- },
- data: {
- id: 'update_pqr456',
- body: 'Great progress this week! We completed the OAuth2 implementation and started on SSO integration. All tests passing.',
- url: 'https://linear.app/acme/project/q4-auth/updates/pqr456',
- projectId: 'project_567',
- userId: 'user_234',
- health: 'onTrack',
- editedAt: null,
- createdAt: '2025-11-06T16:00:00.000Z',
- updatedAt: '2025-11-06T16:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_project_update_created',
- },
- },
],
outputs: buildProjectUpdateOutputs(),
diff --git a/apps/sim/triggers/linear/project_updated.ts b/apps/sim/triggers/linear/project_updated.ts
index f318ecbb09..01db635e38 100644
--- a/apps/sim/triggers/linear/project_updated.ts
+++ b/apps/sim/triggers/linear/project_updated.ts
@@ -61,74 +61,6 @@ export const linearProjectUpdatedTrigger: TriggerConfig = {
value: 'linear_project_updated',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'update',
- type: 'Project',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730940000000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T14:00:00.000Z',
- actor: {
- id: 'user_234',
- type: 'user',
- name: 'Jane Smith',
- },
- data: {
- id: 'project_567',
- name: 'Q4 Authentication Improvements',
- description:
- 'Comprehensive authentication and security improvements for Q4 2025, including SSO integration',
- icon: '🔐',
- color: '#4285F4',
- state: 'started',
- slugId: 'q4-auth',
- url: 'https://linear.app/acme/project/q4-auth',
- leadId: 'user_234',
- creatorId: 'user_123',
- memberIds: ['user_123', 'user_234', 'user_345', 'user_456'],
- teamIds: ['team_456', 'team_789'],
- priority: 0,
- sortOrder: 100.5,
- startDate: '2025-10-01',
- targetDate: '2025-12-31',
- startedAt: '2025-11-06T14:00:00.000Z',
- completedAt: null,
- canceledAt: null,
- archivedAt: null,
- createdAt: '2025-11-06T10:00:00.000Z',
- updatedAt: '2025-11-06T14:00:00.000Z',
- progress: 0.35,
- scope: 8,
- statusId: 'status_in_progress',
- bodyData: null,
- },
- updatedFrom: {
- description: 'Comprehensive authentication and security improvements for Q4 2025',
- state: 'planned',
- leadId: 'user_123',
- priority: 1,
- startedAt: null,
- updatedAt: '2025-11-06T10:00:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_project_updated',
- },
- },
],
outputs: buildProjectOutputs(),
diff --git a/apps/sim/triggers/linear/webhook.ts b/apps/sim/triggers/linear/webhook.ts
index 5f3ef18fd4..755c705529 100644
--- a/apps/sim/triggers/linear/webhook.ts
+++ b/apps/sim/triggers/linear/webhook.ts
@@ -64,44 +64,6 @@ export const linearWebhookTrigger: TriggerConfig = {
value: 'linear_webhook',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- action: 'create',
- type: 'Issue',
- webhookId: '550e8400-e29b-41d4-a716-446655440000',
- webhookTimestamp: 1730937600000,
- organizationId: 'org_abc123',
- createdAt: '2025-11-06T12:00:00.000Z',
- actor: {
- id: 'user_123',
- type: 'user',
- name: 'John Doe',
- },
- data: {
- id: 'entity_id',
- // ... entity-specific fields
- },
- updatedFrom: {
- // ... previous values (only present on update actions)
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'linear_webhook',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/microsoftteams/chat_webhook.ts b/apps/sim/triggers/microsoftteams/chat_webhook.ts
index 2d91ace2f8..fb037c3598 100644
--- a/apps/sim/triggers/microsoftteams/chat_webhook.ts
+++ b/apps/sim/triggers/microsoftteams/chat_webhook.ts
@@ -82,32 +82,6 @@ export const microsoftTeamsChatSubscriptionTrigger: TriggerConfig = {
value: 'microsoftteams_chat_subscription',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- message_id: '1708709741557',
- chat_id: '19:abcxyz@unq.gbl.spaces',
- from_name: 'Adele Vance',
- text: 'Hello from Teams!',
- created_at: '2025-01-01T10:00:00Z',
- attachments: [],
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'microsoftteams_chat_subscription',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/microsoftteams/webhook.ts b/apps/sim/triggers/microsoftteams/webhook.ts
index 77bea2049c..0b69d5e04d 100644
--- a/apps/sim/triggers/microsoftteams/webhook.ts
+++ b/apps/sim/triggers/microsoftteams/webhook.ts
@@ -86,40 +86,6 @@ export const microsoftTeamsWebhookTrigger: TriggerConfig = {
value: 'microsoftteams_webhook',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- type: 'message',
- id: '1234567890',
- timestamp: '2023-01-01T00:00:00.000Z',
- localTimestamp: '2023-01-01T00:00:00.000Z',
- serviceUrl: 'https://smba.trafficmanager.net/amer/',
- channelId: 'msteams',
- from: {
- id: '29:1234567890abcdef',
- name: 'John Doe',
- },
- conversation: {
- id: '19:meeting_abcdef@thread.v2',
- },
- text: 'Hello Sim Bot!',
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'microsoftteams_webhook',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/outlook/poller.ts b/apps/sim/triggers/outlook/poller.ts
index 7cfeb33888..908125e5eb 100644
--- a/apps/sim/triggers/outlook/poller.ts
+++ b/apps/sim/triggers/outlook/poller.ts
@@ -115,42 +115,6 @@ export const outlookPollingTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'outlook_poller',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- email: {
- id: 'AAMkADg1OWUyZjg4LWJkNGYtNDFhYy04OGVjLWVkM2VhY2YzYTcwZgBGAAAAAACE3bU',
- conversationId: 'AAQkADg1OWUyZjg4LWJkNGYtNDFhYy04OGVjLWVkM2VhY2YzYTcwZgAQAErzGBJV',
- subject: 'Quarterly Business Review - Q1 2025',
- from: 'manager@company.com',
- to: 'team@company.com',
- cc: 'stakeholders@company.com',
- date: '2025-05-10T14:30:00Z',
- bodyText:
- 'Hi Team,\n\nPlease find attached the Q1 2025 business review document. We need to discuss the results in our next meeting.\n\nBest regards,\nManager',
- bodyHtml:
- 'Hi Team,
Please find attached the Q1 2025 business review document. We need to discuss the results in our next meeting.
Best regards,
Manager
',
- hasAttachments: true,
- attachments: [],
- isRead: false,
- folderId: 'AQMkADg1OWUyZjg4LWJkNGYtNDFhYy04OGVjAC4AAAJzE3bU',
- messageId: 'AAMkADg1OWUyZjg4LWJkNGYtNDFhYy04OGVjLWVkM2VhY2YzYTcwZgBGAAAAAACE3bU',
- threadId: 'AAQkADg1OWUyZjg4LWJkNGYtNDFhYy04OGVjLWVkM2VhY2YzYTcwZgAQAErzGBJV',
- },
- timestamp: '2025-05-10T14:30:15.123Z',
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/slack/webhook.ts b/apps/sim/triggers/slack/webhook.ts
index 38023f6ae5..9e3d2d9ab7 100644
--- a/apps/sim/triggers/slack/webhook.ts
+++ b/apps/sim/triggers/slack/webhook.ts
@@ -57,35 +57,6 @@ export const slackWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'slack_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- type: 'event_callback',
- event: {
- type: 'app_mention',
- channel: 'C0123456789',
- user: 'U0123456789',
- text: '<@U0BOTUSER123> Hello from Slack!',
- ts: '1234567890.123456',
- thread_ts: '1234567890.000000',
- channel_type: 'channel',
- },
- team_id: 'T0123456789',
- event_id: 'Ev0123456789',
- event_time: 1234567890,
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/stripe/webhook.ts b/apps/sim/triggers/stripe/webhook.ts
index 98eb200ea8..c14848f03a 100644
--- a/apps/sim/triggers/stripe/webhook.ts
+++ b/apps/sim/triggers/stripe/webhook.ts
@@ -193,51 +193,6 @@ export const stripeWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'stripe_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- id: 'evt_1234567890abcdef',
- object: 'event',
- api_version: '2023-10-16',
- created: 1677649261,
- type: 'payment_intent.succeeded',
- livemode: false,
- data: {
- object: {
- id: 'pi_1234567890abcdef',
- object: 'payment_intent',
- amount: 2500,
- amount_capturable: 0,
- amount_received: 2500,
- currency: 'usd',
- customer: 'cus_1234567890abcdef',
- description: 'Example payment',
- metadata: {
- order_id: '6735',
- },
- payment_method: 'pm_1234567890abcdef',
- receipt_email: 'customer@example.com',
- status: 'succeeded',
- },
- },
- pending_webhooks: 1,
- request: {
- id: 'req_1234567890abcdef',
- idempotency_key: '00000000-0000-0000-0000-000000000000',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/telegram/webhook.ts b/apps/sim/triggers/telegram/webhook.ts
index 19eb18af88..2bf6e39792 100644
--- a/apps/sim/triggers/telegram/webhook.ts
+++ b/apps/sim/triggers/telegram/webhook.ts
@@ -53,50 +53,6 @@ export const telegramWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'telegram_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- update_id: 123456789,
- message: {
- message_id: 123,
- from: {
- id: 987654321,
- is_bot: false,
- first_name: 'John',
- last_name: 'Doe',
- username: 'johndoe',
- language_code: 'en',
- },
- chat: {
- id: 987654321,
- first_name: 'John',
- last_name: 'Doe',
- username: 'johndoe',
- type: 'private',
- },
- date: 1234567890,
- text: 'Hello from Telegram!',
- entities: [
- {
- offset: 0,
- length: 5,
- type: 'bold',
- },
- ],
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/twilio_voice/webhook.ts b/apps/sim/triggers/twilio_voice/webhook.ts
index 8a13882880..9cae18e187 100644
--- a/apps/sim/triggers/twilio_voice/webhook.ts
+++ b/apps/sim/triggers/twilio_voice/webhook.ts
@@ -75,39 +75,6 @@ export const twilioVoiceWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'twilio_voice_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- CallSid: 'CA_NOT_A_REAL_SID',
- AccountSid: 'AC_NOT_A_REAL_SID',
- From: '+14155551234',
- To: '+14155556789',
- CallStatus: 'ringing',
- ApiVersion: '2010-04-01',
- Direction: 'inbound',
- ForwardedFrom: '',
- CallerName: 'John Doe',
- FromCity: 'SAN FRANCISCO',
- FromState: 'CA',
- FromZip: '94105',
- FromCountry: 'US',
- ToCity: 'SAN FRANCISCO',
- ToState: 'CA',
- ToZip: '94105',
- ToCountry: 'US',
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/typeform/webhook.ts b/apps/sim/triggers/typeform/webhook.ts
index b725e87bee..389c3fa039 100644
--- a/apps/sim/triggers/typeform/webhook.ts
+++ b/apps/sim/triggers/typeform/webhook.ts
@@ -87,155 +87,6 @@ export const typeformWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'typeform_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- event_id: '01HQZYX5K2F4G8H9J0K1L2M3N4',
- event_type: 'form_response',
- form_response: {
- form_id: 'ABC123',
- token: 'def456ghi789jkl012',
- submitted_at: '2025-01-15T10:30:00Z',
- landed_at: '2025-01-15T10:28:45Z',
- calculated: {
- score: 85,
- },
- variables: [
- {
- key: 'score',
- type: 'number',
- number: 4,
- },
- {
- key: 'name',
- type: 'text',
- text: 'typeform',
- },
- ],
- hidden: {
- utm_source: 'newsletter',
- utm_campaign: 'spring_2025',
- },
- answers: [
- {
- type: 'text',
- text: 'John Doe',
- field: {
- id: 'abc123',
- type: 'short_text',
- ref: 'name_field',
- },
- },
- {
- type: 'email',
- email: 'john@example.com',
- field: {
- id: 'def456',
- type: 'email',
- ref: 'email_field',
- },
- },
- {
- type: 'choice',
- choice: {
- id: 'meFVw3iGRxZB',
- label: 'Very Satisfied',
- ref: 'ed7f4756-c28f-4374-bb65-bfe5e3235c0c',
- },
- field: {
- id: 'ghi789',
- type: 'multiple_choice',
- ref: 'satisfaction_field',
- },
- },
- {
- type: 'choices',
- choices: {
- ids: ['eXnU3oA141Cg', 'aTZmZGYV6liX', 'bCdEfGhIjKlM'],
- labels: ['TypeScript', 'Python', 'Go'],
- refs: [
- '238d1802-9921-4687-a37b-5e50f56ece8e',
- 'd867c542-1e72-4619-908f-aaae38cabb61',
- 'f123g456-h789-i012-j345-k678l901m234',
- ],
- },
- field: {
- id: 'jkl012',
- type: 'multiple_choice',
- ref: 'languages_field',
- },
- },
- {
- type: 'number',
- number: 5,
- field: {
- id: 'mno345',
- type: 'number',
- ref: 'rating_field',
- },
- },
- {
- type: 'boolean',
- boolean: true,
- field: {
- id: 'pqr678',
- type: 'yes_no',
- ref: 'subscribe_field',
- },
- },
- {
- type: 'date',
- date: '2025-01-20',
- field: {
- id: 'stu901',
- type: 'date',
- ref: 'appointment_field',
- },
- },
- ],
- definition: {
- id: 'ABC123',
- title: 'Customer Feedback Survey',
- fields: [
- {
- id: 'abc123',
- title: 'What is your name?',
- type: 'short_text',
- ref: 'name_field',
- },
- {
- id: 'def456',
- title: 'What is your email?',
- type: 'email',
- ref: 'email_field',
- },
- ],
- endings: [
- {
- id: 'end123',
- title: 'Thank you!',
- type: 'thankyou_screen',
- },
- ],
- },
- ending: {
- id: 'end123',
- ref: '01GRC8GR2017M6WW347T86VV39',
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/webflow/collection_item_changed.ts b/apps/sim/triggers/webflow/collection_item_changed.ts
index aaef92ab8a..d86d7a8c09 100644
--- a/apps/sim/triggers/webflow/collection_item_changed.ts
+++ b/apps/sim/triggers/webflow/collection_item_changed.ts
@@ -87,44 +87,6 @@ export const webflowCollectionItemChangedTrigger: TriggerConfig = {
value: 'webflow_collection_item_changed',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- siteId: '68f9666057aa8abaa9b0b668',
- workspaceId: '68f96081e7018465432953b5',
- collectionId: '68f9666257aa8abaa9b0b6d6',
- payload: {
- id: '68fa8445de250e147cd95cfd',
- cmsLocaleId: '68f9666257aa8abaa9b0b6c9',
- lastPublished: '2024-01-15T14:45:00.000Z',
- lastUpdated: '2024-01-15T14:45:00.000Z',
- createdOn: '2024-01-15T10:30:00.000Z',
- isArchived: false,
- isDraft: false,
- fieldData: {
- name: 'Updated Blog Post',
- slug: 'updated-blog-post',
- 'post-summary': 'This blog post has been updated',
- featured: true,
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'webflow_collection_item_changed',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/webflow/collection_item_created.ts b/apps/sim/triggers/webflow/collection_item_created.ts
index ebcfacf4e1..26187f8bd7 100644
--- a/apps/sim/triggers/webflow/collection_item_created.ts
+++ b/apps/sim/triggers/webflow/collection_item_created.ts
@@ -100,44 +100,6 @@ export const webflowCollectionItemCreatedTrigger: TriggerConfig = {
value: 'webflow_collection_item_created',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- siteId: '68f9666057aa8abaa9b0b668',
- workspaceId: '68f96081e7018465432953b5',
- collectionId: '68f9666257aa8abaa9b0b6d6',
- payload: {
- id: '68fa8445de250e147cd95cfd',
- cmsLocaleId: '68f9666257aa8abaa9b0b6c9',
- lastPublished: '2024-01-15T10:30:00.000Z',
- lastUpdated: '2024-01-15T10:30:00.000Z',
- createdOn: '2024-01-15T10:30:00.000Z',
- isArchived: false,
- isDraft: false,
- fieldData: {
- name: 'Sample Blog Post',
- slug: 'sample-blog-post',
- 'post-summary': 'This is a sample blog post created in the collection',
- featured: false,
- },
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'webflow_collection_item_created',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/webflow/collection_item_deleted.ts b/apps/sim/triggers/webflow/collection_item_deleted.ts
index 644cf30154..424b1dc444 100644
--- a/apps/sim/triggers/webflow/collection_item_deleted.ts
+++ b/apps/sim/triggers/webflow/collection_item_deleted.ts
@@ -88,33 +88,6 @@ export const webflowCollectionItemDeletedTrigger: TriggerConfig = {
value: 'webflow_collection_item_deleted',
},
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- siteId: '68f9666057aa8abaa9b0b668',
- workspaceId: '68f96081e7018465432953b5',
- collectionId: '68f9666257aa8abaa9b0b6d6',
- payload: {
- id: '68fa8445de250e147cd95cfd',
- deletedOn: '2024-01-15T16:20:00.000Z',
- },
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- condition: {
- field: 'selectedTriggerId',
- value: 'webflow_collection_item_deleted',
- },
- },
],
outputs: {
diff --git a/apps/sim/triggers/webflow/form_submission.ts b/apps/sim/triggers/webflow/form_submission.ts
index 2efe951ca9..496c461fbf 100644
--- a/apps/sim/triggers/webflow/form_submission.ts
+++ b/apps/sim/triggers/webflow/form_submission.ts
@@ -67,41 +67,6 @@ export const webflowFormSubmissionTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'webflow_form_submission',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- siteId: '68f9666057aa8abaa9b0b668',
- workspaceId: '68f96081e7018465432953b5',
- name: 'Contact Form',
- id: '68fa8445de250e147cd95cfd',
- submittedAt: '2024-01-15T12:00:00.000Z',
- data: {
- name: 'John Doe',
- email: 'john@example.com',
- message: 'I would like more information about your services.',
- 'consent-checkbox': 'true',
- },
- schema: {
- fields: [
- { name: 'name', type: 'text' },
- { name: 'email', type: 'email' },
- { name: 'message', type: 'textarea' },
- ],
- },
- formElementId: '68f9666257aa8abaa9b0b6e2',
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {
diff --git a/apps/sim/triggers/whatsapp/webhook.ts b/apps/sim/triggers/whatsapp/webhook.ts
index 4815b1cdbd..832ec0a39b 100644
--- a/apps/sim/triggers/whatsapp/webhook.ts
+++ b/apps/sim/triggers/whatsapp/webhook.ts
@@ -59,59 +59,6 @@ export const whatsappWebhookTrigger: TriggerConfig = {
mode: 'trigger',
triggerId: 'whatsapp_webhook',
},
- {
- id: 'samplePayload',
- title: 'Event Payload Example',
- type: 'code',
- language: 'json',
- defaultValue: JSON.stringify(
- {
- object: 'whatsapp_business_account',
- entry: [
- {
- id: '1234567890123456',
- changes: [
- {
- value: {
- messaging_product: 'whatsapp',
- metadata: {
- display_phone_number: '15551234567',
- phone_number_id: '1234567890123456',
- },
- contacts: [
- {
- profile: {
- name: 'John Doe',
- },
- wa_id: '15555551234',
- },
- ],
- messages: [
- {
- from: '15555551234',
- id: 'wamid.HBgNMTU1NTU1NTEyMzQVAgASGBQzQTdBNjg4QjU2NjZCMzY4ODE2AA==',
- timestamp: '1234567890',
- text: {
- body: 'Hello from WhatsApp!',
- },
- type: 'text',
- },
- ],
- },
- field: 'messages',
- },
- ],
- },
- ],
- },
- null,
- 2
- ),
- readOnly: true,
- collapsible: true,
- defaultCollapsed: true,
- mode: 'trigger',
- },
],
outputs: {