From 2f2c2b05e8515dfe109f9c9b69ceeb4e49937679 Mon Sep 17 00:00:00 2001 From: Vikhyath Mondreti Date: Mon, 9 Mar 2026 15:22:14 -0700 Subject: [PATCH] feat(templates): landing page templates workflow states --- .../landing-preview-workflow/workflow-data.ts | 2 + .../templates/template-workflows.ts | 13 + .../(home)/components/templates/templates.tsx | 61 +- .../app/workspace/[workspaceId]/home/home.tsx | 79 +- .../w/hooks/use-import-workflow.ts | 81 +- apps/sim/lib/core/utils/browser-storage.ts | 103 + .../lib/workflows/operations/import-export.ts | 108 + ...-d2578496-d153-4db1-8ef1-c738cfa94a96.json | 467 ++++ ...-52454688-49ae-4279-894a-aa6494f10e3a.json | 1000 ++++++++ ...-2a1c59de-fdcc-4ae0-b448-69a58b36c29a.json | 985 ++++++++ ...-57e84f83-c583-4e74-b73a-080d25f2074d.json | 551 +++++ ...-d3bed10e-fc87-4fdb-b458-80d8e43757d3.json | 2075 +++++++++++++++++ ...-e9dcd9f1-18bd-4163-b5d8-3e239a297526.json | 330 +++ ...-6ed8dede-1df6-4962-95f4-887abf524b38.json | 520 +++++ ...-a2357a2f-67f7-40c1-8e64-301bcd604239.json | 813 +++++++ ...-d502887e-8750-40a3-a98b-fb2a4e725a4d.json | 821 +++++++ ...-cb5f2d92-a324-4958-8303-4710c572b71d.json | 1771 ++++++++++++++ ...-d083c931-8788-4c6e-814c-0788830e164d.json | 485 ++++ 18 files changed, 10186 insertions(+), 79 deletions(-) create mode 100644 apps/sim/public/landing-page-templates/brand-mention-d2578496-d153-4db1-8ef1-c738cfa94a96.json create mode 100644 apps/sim/public/landing-page-templates/competitor-monitor-52454688-49ae-4279-894a-aa6494f10e3a.json create mode 100644 apps/sim/public/landing-page-templates/customer-feedback-digest-2a1c59de-fdcc-4ae0-b448-69a58b36c29a.json create mode 100644 apps/sim/public/landing-page-templates/email-triage-57e84f83-c583-4e74-b73a-080d25f2074d.json create mode 100644 apps/sim/public/landing-page-templates/gh-release-agent-d3bed10e-fc87-4fdb-b458-80d8e43757d3.json create mode 100644 apps/sim/public/landing-page-templates/knowledge-base-qa-e9dcd9f1-18bd-4163-b5d8-3e239a297526.json create mode 100644 apps/sim/public/landing-page-templates/lead-enricher-6ed8dede-1df6-4962-95f4-887abf524b38.json create mode 100644 apps/sim/public/landing-page-templates/meeting-followup-agent-a2357a2f-67f7-40c1-8e64-301bcd604239.json create mode 100644 apps/sim/public/landing-page-templates/ocr-invoice-db-d502887e-8750-40a3-a98b-fb2a4e725a4d.json create mode 100644 apps/sim/public/landing-page-templates/pr-review-cb5f2d92-a324-4958-8303-4710c572b71d.json create mode 100644 apps/sim/public/landing-page-templates/resume-parser-d083c931-8788-4c6e-814c-0788830e164d.json diff --git a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts index 7501b8d0e1..cd99fadfe9 100644 --- a/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts +++ b/apps/sim/app/(home)/components/landing-preview/components/landing-preview-workflow/workflow-data.ts @@ -35,6 +35,8 @@ export interface PreviewWorkflow { color: string blocks: PreviewBlock[] edges: Array<{ id: string; source: string; target: string }> + /** Public JSON export used to seed the landing-page import flow */ + seedPath?: string } /** diff --git a/apps/sim/app/(home)/components/templates/template-workflows.ts b/apps/sim/app/(home)/components/templates/template-workflows.ts index 89a1359b7a..8d23b94721 100644 --- a/apps/sim/app/(home)/components/templates/template-workflows.ts +++ b/apps/sim/app/(home)/components/templates/template-workflows.ts @@ -8,6 +8,7 @@ const OCR_INVOICE_WORKFLOW: PreviewWorkflow = { id: 'tpl-ocr-invoice', name: 'OCR Invoice to DB', color: '#2ABBF8', + seedPath: '/landing-page-templates/ocr-invoice-db-d502887e-8750-40a3-a98b-fb2a4e725a4d.json', blocks: [ { id: 'starter-1', @@ -57,6 +58,7 @@ const GITHUB_RELEASE_WORKFLOW: PreviewWorkflow = { id: 'tpl-github-release', name: 'GitHub Release Agent', color: '#00F701', + seedPath: '/landing-page-templates/gh-release-agent-d3bed10e-fc87-4fdb-b458-80d8e43757d3.json', blocks: [ { id: 'github-1', @@ -108,6 +110,8 @@ const MEETING_FOLLOWUP_WORKFLOW: PreviewWorkflow = { id: 'tpl-meeting-followup', name: 'Meeting Follow-up Agent', color: '#FFCC02', + seedPath: + '/landing-page-templates/meeting-followup-agent-a2357a2f-67f7-40c1-8e64-301bcd604239.json', blocks: [ { id: 'gcal-1', @@ -159,6 +163,7 @@ const CV_SCANNER_WORKFLOW: PreviewWorkflow = { id: 'tpl-cv-scanner', name: 'CV/Resume Scanner', color: '#FA4EDF', + seedPath: '/landing-page-templates/resume-parser-d083c931-8788-4c6e-814c-0788830e164d.json', blocks: [ { id: 'starter-2', @@ -208,6 +213,7 @@ const EMAIL_TRIAGE_WORKFLOW: PreviewWorkflow = { id: 'tpl-email-triage', name: 'Email Triage Agent', color: '#FF6B2C', + seedPath: '/landing-page-templates/email-triage-57e84f83-c583-4e74-b73a-080d25f2074d.json', blocks: [ { id: 'gmail-2', @@ -273,6 +279,7 @@ const COMPETITOR_MONITOR_WORKFLOW: PreviewWorkflow = { id: 'tpl-competitor-monitor', name: 'Competitor Monitor', color: '#6366F1', + seedPath: '/landing-page-templates/competitor-monitor-52454688-49ae-4279-894a-aa6494f10e3a.json', blocks: [ { id: 'schedule-1', @@ -325,6 +332,7 @@ const SOCIAL_LISTENING_WORKFLOW: PreviewWorkflow = { id: 'tpl-social-listening', name: 'Social Listening Agent', color: '#F43F5E', + seedPath: '/landing-page-templates/brand-mention-d2578496-d153-4db1-8ef1-c738cfa94a96.json', blocks: [ { id: 'schedule-2', @@ -377,6 +385,7 @@ const DATA_ENRICHMENT_WORKFLOW: PreviewWorkflow = { id: 'tpl-data-enrichment', name: 'Data Enrichment Pipeline', color: '#14B8A6', + seedPath: '/landing-page-templates/lead-enricher-6ed8dede-1df6-4962-95f4-887abf524b38.json', blocks: [ { id: 'starter-3', @@ -426,6 +435,8 @@ const FEEDBACK_DIGEST_WORKFLOW: PreviewWorkflow = { id: 'tpl-feedback-digest', name: 'Customer Feedback Digest', color: '#F59E0B', + seedPath: + '/landing-page-templates/customer-feedback-digest-2a1c59de-fdcc-4ae0-b448-69a58b36c29a.json', blocks: [ { id: 'schedule-3', @@ -478,6 +489,7 @@ const PR_REVIEW_WORKFLOW: PreviewWorkflow = { id: 'tpl-pr-review', name: 'PR Review Agent', color: '#06B6D4', + seedPath: '/landing-page-templates/pr-review-cb5f2d92-a324-4958-8303-4710c572b71d.json', blocks: [ { id: 'github-2', @@ -529,6 +541,7 @@ const KNOWLEDGE_QA_WORKFLOW: PreviewWorkflow = { id: 'tpl-knowledge-qa', name: 'Knowledge Base QA', color: '#84CC16', + seedPath: '/landing-page-templates/knowledge-base-qa-e9dcd9f1-18bd-4163-b5d8-3e239a297526.json', blocks: [ { id: 'starter-4', diff --git a/apps/sim/app/(home)/components/templates/templates.tsx b/apps/sim/app/(home)/components/templates/templates.tsx index 92480ca9b5..dd2c6750d8 100644 --- a/apps/sim/app/(home)/components/templates/templates.tsx +++ b/apps/sim/app/(home)/components/templates/templates.tsx @@ -1,13 +1,17 @@ 'use client' -import { useRef, useState } from 'react' +import { useCallback, useRef, useState } from 'react' +import { createLogger } from '@sim/logger' import { type MotionValue, motion, useScroll, useTransform } from 'framer-motion' import dynamic from 'next/dynamic' -import Link from 'next/link' +import { useRouter } from 'next/navigation' import { Badge, ChevronDown } from '@/components/emcn' +import { LandingWorkflowSeedStorage } from '@/lib/core/utils/browser-storage' import { cn } from '@/lib/core/utils/cn' import { TEMPLATE_WORKFLOWS } from '@/app/(home)/components/templates/template-workflows' +const logger = createLogger('LandingTemplates') + const LandingPreviewWorkflow = dynamic( () => import( @@ -344,6 +348,8 @@ const TEMPLATES_PANEL_ID = 'templates-panel' export default function Templates() { const sectionRef = useRef(null) const [activeIndex, setActiveIndex] = useState(0) + const [isPreparingTemplate, setIsPreparingTemplate] = useState(false) + const router = useRouter() const { scrollYProgress } = useScroll({ target: sectionRef, @@ -353,6 +359,45 @@ export default function Templates() { const activeWorkflow = TEMPLATE_WORKFLOWS[activeIndex] const activeDepth = DEPTH_CONFIGS[activeWorkflow.id] + const handleUseTemplate = useCallback(async () => { + if (isPreparingTemplate) return + + setIsPreparingTemplate(true) + + try { + if (activeWorkflow.seedPath) { + const response = await fetch(activeWorkflow.seedPath) + + if (!response.ok) { + throw new Error(`Failed to fetch template seed: ${response.status}`) + } + + const workflowJson = await response.text() + LandingWorkflowSeedStorage.store({ + templateId: activeWorkflow.id, + workflowName: activeWorkflow.name, + color: activeWorkflow.color, + workflowJson, + }) + } + } catch (error) { + logger.error('Failed to prepare landing template workflow seed', { + templateId: activeWorkflow.id, + error, + }) + } finally { + setIsPreparingTemplate(false) + router.push('/signup') + } + }, [ + activeWorkflow.color, + activeWorkflow.id, + activeWorkflow.name, + activeWorkflow.seedPath, + isPreparingTemplate, + router, + ]) + return (
- - Use template + {isPreparingTemplate ? 'Preparing...' : 'Use template'} - + diff --git a/apps/sim/app/workspace/[workspaceId]/home/home.tsx b/apps/sim/app/workspace/[workspaceId]/home/home.tsx index 6aed6a7211..a3a9482ce2 100644 --- a/apps/sim/app/workspace/[workspaceId]/home/home.tsx +++ b/apps/sim/app/workspace/[workspaceId]/home/home.tsx @@ -2,8 +2,14 @@ import { useCallback, useEffect, useRef, useState } from 'react' import { createLogger } from '@sim/logger' -import { useParams } from 'next/navigation' -import { LandingPromptStorage } from '@/lib/core/utils/browser-storage' +import { useParams, useRouter } from 'next/navigation' +import { + LandingPromptStorage, + LandingTemplateStorage, + type LandingWorkflowSeed, + LandingWorkflowSeedStorage, +} from '@/lib/core/utils/browser-storage' +import { persistImportedWorkflow } from '@/lib/workflows/operations/import-export' import { MessageContent, MothershipView, UserInput } from './components' import { useChat } from './hooks' @@ -15,19 +21,80 @@ interface HomeProps { export function Home({ chatId }: HomeProps = {}) { const { workspaceId } = useParams<{ workspaceId: string }>() + const router = useRouter() const [inputValue, setInputValue] = useState('') - const hasCheckedLandingPromptRef = useRef(false) + const hasCheckedLandingStorageRef = useRef(false) + + const createWorkflowFromLandingSeed = useCallback( + async (seed: LandingWorkflowSeed) => { + try { + const result = await persistImportedWorkflow({ + content: seed.workflowJson, + filename: `${seed.workflowName}.json`, + workspaceId, + nameOverride: seed.workflowName, + descriptionOverride: seed.workflowDescription || 'Imported from landing template', + colorOverride: seed.color, + createWorkflow: async ({ name, description, color, workspaceId }) => { + const response = await fetch('/api/workflows', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + name, + description, + color, + workspaceId, + }), + }) + + if (!response.ok) { + const errorData = await response.json().catch(() => ({})) + throw new Error(errorData.error || 'Failed to create workflow') + } + + return response.json() + }, + }) + + if (result?.workflowId) { + window.location.href = `/workspace/${workspaceId}/w/${result.workflowId}` + return + } + + logger.warn('Landing workflow seed did not produce a workflow', { + templateId: seed.templateId, + }) + } catch (error) { + logger.error('Error creating workflow from landing workflow seed:', error) + } + }, + [workspaceId] + ) useEffect(() => { - if (hasCheckedLandingPromptRef.current) return - hasCheckedLandingPromptRef.current = true + if (hasCheckedLandingStorageRef.current) return + hasCheckedLandingStorageRef.current = true + + const workflowSeed = LandingWorkflowSeedStorage.consume() + if (workflowSeed) { + logger.info('Retrieved landing page workflow seed, creating workflow in workspace') + void createWorkflowFromLandingSeed(workflowSeed) + return + } + + const templateId = LandingTemplateStorage.consume() + if (templateId) { + logger.info('Retrieved landing page template, redirecting to template detail') + router.replace(`/workspace/${workspaceId}/templates/${templateId}?use=true`) + return + } const prompt = LandingPromptStorage.consume() if (prompt) { logger.info('Retrieved landing page prompt, populating home input') setInputValue(prompt) } - }, []) + }, [createWorkflowFromLandingSeed, workspaceId, router]) const { messages, diff --git a/apps/sim/app/workspace/[workspaceId]/w/hooks/use-import-workflow.ts b/apps/sim/app/workspace/[workspaceId]/w/hooks/use-import-workflow.ts index b04db85173..b7459a5324 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/hooks/use-import-workflow.ts +++ b/apps/sim/app/workspace/[workspaceId]/w/hooks/use-import-workflow.ts @@ -3,10 +3,9 @@ import { createLogger } from '@sim/logger' import { useQueryClient } from '@tanstack/react-query' import { useRouter } from 'next/navigation' import { - extractWorkflowName, extractWorkflowsFromFiles, extractWorkflowsFromZip, - parseWorkflowJson, + persistImportedWorkflow, sanitizePathSegment, } from '@/lib/workflows/operations/import-export' import { folderKeys, useCreateFolder } from '@/hooks/queries/folders' @@ -42,75 +41,25 @@ export function useImportWorkflow({ workspaceId }: UseImportWorkflowProps) { */ const importSingleWorkflow = useCallback( async (content: string, filename: string, folderId?: string, sortOrder?: number) => { - const { data: workflowData, errors: parseErrors } = parseWorkflowJson(content) - - if (!workflowData || parseErrors.length > 0) { - logger.warn(`Failed to parse ${filename}:`, parseErrors) - return null - } - - const workflowName = extractWorkflowName(content, filename) clearDiff() - - const workflowColor = - (workflowData.metadata as { color?: string } | undefined)?.color || '#3972F6' - - const result = await createWorkflowMutation.mutateAsync({ - name: workflowName, - description: workflowData.metadata?.description || 'Imported from JSON', + const result = await persistImportedWorkflow({ + content, + filename, workspaceId, - folderId: folderId || undefined, + folderId, sortOrder, - color: workflowColor, - }) - const newWorkflowId = result.id - - const stateResponse = await fetch(`/api/workflows/${newWorkflowId}/state`, { - method: 'PUT', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify(workflowData), + createWorkflow: async ({ name, description, color, workspaceId, folderId, sortOrder }) => + createWorkflowMutation.mutateAsync({ + name, + description, + color, + workspaceId, + folderId, + sortOrder, + }), }) - if (!stateResponse.ok) { - logger.error(`Failed to save workflow state for ${newWorkflowId}`) - } - - if (workflowData.variables) { - const variablesArray = Array.isArray(workflowData.variables) - ? workflowData.variables - : Object.values(workflowData.variables) - - if (variablesArray.length > 0) { - const variablesRecord: Record< - string, - { id: string; workflowId: string; name: string; type: string; value: unknown } - > = {} - - for (const v of variablesArray) { - const id = typeof v.id === 'string' && v.id.trim() ? v.id : crypto.randomUUID() - variablesRecord[id] = { - id, - workflowId: newWorkflowId, - name: v.name, - type: v.type, - value: v.value, - } - } - - const variablesResponse = await fetch(`/api/workflows/${newWorkflowId}/variables`, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ variables: variablesRecord }), - }) - - if (!variablesResponse.ok) { - logger.error(`Failed to save variables for ${newWorkflowId}`) - } - } - } - - logger.info(`Imported workflow: ${workflowName}`) - return newWorkflowId + return result?.workflowId ?? null }, [clearDiff, createWorkflowMutation, workspaceId] ) diff --git a/apps/sim/lib/core/utils/browser-storage.ts b/apps/sim/lib/core/utils/browser-storage.ts index 666fc93770..e444b2d5e0 100644 --- a/apps/sim/lib/core/utils/browser-storage.ts +++ b/apps/sim/lib/core/utils/browser-storage.ts @@ -104,6 +104,8 @@ export class BrowserStorage { */ export const STORAGE_KEYS = { LANDING_PAGE_PROMPT: 'sim_landing_page_prompt', + LANDING_PAGE_TEMPLATE: 'sim_landing_page_template', + LANDING_PAGE_WORKFLOW_SEED: 'sim_landing_page_workflow_seed', } as const /** @@ -187,3 +189,104 @@ export class LandingPromptStorage { return BrowserStorage.removeItem(LandingPromptStorage.KEY) } } + +/** + * Specialized utility for managing a template selection from the landing page. + * Stores the marketplace template ID so it can be consumed after signup. + */ +export class LandingTemplateStorage { + private static readonly KEY = STORAGE_KEYS.LANDING_PAGE_TEMPLATE + + /** + * Store a template ID selected on the landing page + * @param templateId - The marketplace template UUID + */ + static store(templateId: string): boolean { + if (!templateId || templateId.trim().length === 0) { + return false + } + + return BrowserStorage.setItem(LandingTemplateStorage.KEY, { + templateId: templateId.trim(), + timestamp: Date.now(), + }) + } + + /** + * Retrieve and consume the stored template ID + * @param maxAge - Maximum age in milliseconds (default: 24 hours) + */ + static consume(maxAge: number = 24 * 60 * 60 * 1000): string | null { + const data = BrowserStorage.getItem<{ templateId: string; timestamp: number } | null>( + LandingTemplateStorage.KEY, + null + ) + + if (!data || !data.templateId || !data.timestamp) { + return null + } + + if (Date.now() - data.timestamp > maxAge) { + LandingTemplateStorage.clear() + return null + } + + LandingTemplateStorage.clear() + return data.templateId + } + + static clear(): boolean { + return BrowserStorage.removeItem(LandingTemplateStorage.KEY) + } +} + +export interface LandingWorkflowSeed { + templateId: string + workflowName: string + workflowDescription?: string + color?: string + workflowJson: string +} + +/** + * Specialized utility for managing a landing-page workflow seed. + * Stores a workflow export JSON so it can be imported after signup. + */ +export class LandingWorkflowSeedStorage { + private static readonly KEY = STORAGE_KEYS.LANDING_PAGE_WORKFLOW_SEED + + static store(seed: LandingWorkflowSeed): boolean { + if (!seed.templateId || !seed.workflowName || !seed.workflowJson) { + return false + } + + return BrowserStorage.setItem(LandingWorkflowSeedStorage.KEY, { + ...seed, + timestamp: Date.now(), + }) + } + + static consume(maxAge: number = 24 * 60 * 60 * 1000): LandingWorkflowSeed | null { + const data = BrowserStorage.getItem<(LandingWorkflowSeed & { timestamp: number }) | null>( + LandingWorkflowSeedStorage.KEY, + null + ) + + if (!data || !data.templateId || !data.workflowName || !data.timestamp || !data.workflowJson) { + return null + } + + if (Date.now() - data.timestamp > maxAge) { + LandingWorkflowSeedStorage.clear() + return null + } + + LandingWorkflowSeedStorage.clear() + const { timestamp: _timestamp, ...seed } = data + return seed + } + + static clear(): boolean { + return BrowserStorage.removeItem(LandingWorkflowSeedStorage.KEY) + } +} diff --git a/apps/sim/lib/workflows/operations/import-export.ts b/apps/sim/lib/workflows/operations/import-export.ts index bf211bdcdf..4ee3167963 100644 --- a/apps/sim/lib/workflows/operations/import-export.ts +++ b/apps/sim/lib/workflows/operations/import-export.ts @@ -616,6 +616,114 @@ export function parseWorkflowJson( } } +interface CreateImportedWorkflowInput { + name: string + description: string + color: string + workspaceId: string + folderId?: string + sortOrder?: number +} + +interface CreatedImportedWorkflow { + id: string +} + +interface PersistImportedWorkflowOptions { + content: string + filename: string + workspaceId: string + folderId?: string + sortOrder?: number + nameOverride?: string + descriptionOverride?: string + colorOverride?: string + createWorkflow: (input: CreateImportedWorkflowInput) => Promise +} + +export async function persistImportedWorkflow({ + content, + filename, + workspaceId, + folderId, + sortOrder, + nameOverride, + descriptionOverride, + colorOverride, + createWorkflow, +}: PersistImportedWorkflowOptions): Promise<{ workflowId: string; workflowName: string } | null> { + const { data: workflowData, errors: parseErrors } = parseWorkflowJson(content) + + if (!workflowData || parseErrors.length > 0) { + logger.warn(`Failed to parse imported workflow ${filename}:`, parseErrors) + return null + } + + const workflowName = nameOverride || extractWorkflowName(content, filename) + const workflowColor = + colorOverride || (workflowData.metadata as { color?: string } | undefined)?.color || '#3972F6' + + const createdWorkflow = await createWorkflow({ + name: workflowName, + description: descriptionOverride || workflowData.metadata?.description || 'Imported from JSON', + workspaceId, + folderId, + sortOrder, + color: workflowColor, + }) + + const newWorkflowId = createdWorkflow.id + + const stateResponse = await fetch(`/api/workflows/${newWorkflowId}/state`, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(workflowData), + }) + + if (!stateResponse.ok) { + throw new Error(`Failed to save workflow state for ${newWorkflowId}`) + } + + if (workflowData.variables) { + const variablesArray = Array.isArray(workflowData.variables) + ? workflowData.variables + : Object.values(workflowData.variables) + + if (variablesArray.length > 0) { + const variablesRecord: Record< + string, + { id: string; workflowId: string; name: string; type: string; value: unknown } + > = {} + + for (const variable of variablesArray) { + const id = + typeof variable.id === 'string' && variable.id.trim() ? variable.id : crypto.randomUUID() + + variablesRecord[id] = { + id, + workflowId: newWorkflowId, + name: variable.name, + type: variable.type, + value: variable.value, + } + } + + const variablesResponse = await fetch(`/api/workflows/${newWorkflowId}/variables`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ variables: variablesRecord }), + }) + + if (!variablesResponse.ok) { + throw new Error(`Failed to save variables for ${newWorkflowId}`) + } + } + } + + logger.info(`Imported workflow: ${workflowName}`) + return { workflowId: newWorkflowId, workflowName } +} + export interface GenerateWorkflowJsonOptions { workflowId: string name?: string diff --git a/apps/sim/public/landing-page-templates/brand-mention-d2578496-d153-4db1-8ef1-c738cfa94a96.json b/apps/sim/public/landing-page-templates/brand-mention-d2578496-d153-4db1-8ef1-c738cfa94a96.json new file mode 100644 index 0000000000..43fb1605c1 --- /dev/null +++ b/apps/sim/public/landing-page-templates/brand-mention-d2578496-d153-4db1-8ef1-c738cfa94a96.json @@ -0,0 +1,467 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.012Z", + "state": { + "blocks": { + "c08eabea-4a15-43dd-ab0e-324f8473cdda": { + "id": "c08eabea-4a15-43dd-ab0e-324f8473cdda", + "type": "schedule", + "name": "Schedule", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 114, + "subBlocks": { + "timezone": { + "id": "timezone", + "type": "short-input", + "value": "UTC" + }, + "inputFormat": { + "id": "inputFormat", + "type": "input-format", + "value": [ + { + "id": "6bad8048-89f7-418a-8419-bd04b1783fc5", + "name": "", + "type": "string", + "value": "", + "collapsed": false + } + ] + }, + "hourlyMinute": { + "id": "hourlyMinute", + "type": "short-input", + "value": "0" + }, + "scheduleType": { + "id": "scheduleType", + "type": "short-input", + "value": "hourly" + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "User uploaded files" + }, + "input": { + "type": "string", + "description": "Primary user input or message" + }, + "conversationId": { + "type": "string", + "description": "Conversation thread identifier" + } + }, + "data": {}, + "locked": false + }, + "a6d33ecb-4115-4979-9a3b-d3f1caf67288": { + "id": "a6d33ecb-4115-4979-9a3b-d3f1caf67288", + "type": "notion_v2", + "name": "Notion", + "position": { + "x": 1150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 230, + "subBlocks": { + "query": { + "id": "query", + "type": "short-input", + "value": null + }, + "sorts": { + "id": "sorts", + "type": "code", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": "Brand Mentions Report" + }, + "filter": { + "id": "filter", + "type": "code", + "value": null + }, + "pageId": { + "id": "pageId", + "type": "short-input", + "value": null + }, + "content": { + "id": "content", + "type": "short-input", + "value": "\n\nTotal Mentions: \n\nSentiment Breakdown:\n- Positive: \n- Negative: \n- Neutral: \n\nDetailed Mentions:\n" + }, + "pageSize": { + "id": "pageSize", + "type": "short-input", + "value": null + }, + "parentId": { + "id": "parentId", + "type": "short-input", + "value": "placeholder_database_id" + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "notion_create_page" + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "databaseId": { + "id": "databaseId", + "type": "short-input", + "value": null + }, + "filterType": { + "id": "filterType", + "type": "dropdown", + "value": null + }, + "properties": { + "id": "properties", + "type": "code", + "value": null + }, + "pageSelector": { + "id": "pageSelector", + "type": "file-selector", + "value": null + }, + "parentSelector": { + "id": "parentSelector", + "type": "file-selector", + "value": null + }, + "databaseSelector": { + "id": "databaseSelector", + "type": "project-selector", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": "" + } + }, + "outputs": { + "id": { + "type": "string", + "description": "Page UUID" + }, + "url": { + "type": "string", + "description": "Notion page URL" + }, + "title": { + "type": "string", + "description": "Page title" + }, + "created_time": { + "type": "string", + "description": "ISO 8601 creation timestamp" + }, + "last_edited_time": { + "type": "string", + "description": "ISO 8601 last edit timestamp" + } + }, + "data": { + "canonicalModes": { + "pageId": "basic", + "parentId": "basic", + "databaseId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "e17ebe08-1e34-4a5a-920e-ebbc12e616c7": { + "id": "e17ebe08-1e34-4a5a-920e-ebbc12e616c7", + "type": "agent", + "name": "brandMentionTracker", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "gemini-2.5-flash" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "type": "reddit", + "title": "Reddit Search", + "params": { + "credential": "cred_278965807788f2194a89d8926339c9bc" + }, + "toolId": "reddit_search", + "operation": "search", + "isExpanded": true, + "usageControl": "auto" + }, + { + "type": "x", + "title": "X Search", + "params": { + "sortOrder": "recency", + "credential": "cred_bca17ade6b5e43c6929f0716e239aa1d" + }, + "toolId": "x_search", + "operation": "x_search_tweets", + "isExpanded": true, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "short-input", + "value": "[{\"role\":\"user\",\"content\":\"Search for brand mentions on Reddit and X (Twitter). Find all recent mentions, discussions, and conversations about our brand. Compile a detailed report of what people are saying.\"}]" + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "short-input", + "value": "{\n \"name\": \"brand_mentions_report\",\n \"schema\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"mentions\": {\n \"description\": \"Array of individual brand mentions\",\n \"items\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"author\": {\n \"description\": \"Username of the person who posted\",\n \"type\": \"string\"\n },\n \"content\": {\n \"description\": \"Text content of the mention\",\n \"type\": \"string\"\n },\n \"engagement\": {\n \"description\": \"Engagement metrics like likes, retweets, upvotes\",\n \"type\": \"string\"\n },\n \"platform\": {\n \"description\": \"Platform where mention was found (Reddit or X)\",\n \"type\": \"string\"\n },\n \"sentiment\": {\n \"description\": \"Sentiment analysis (positive, negative, neutral)\",\n \"type\": \"string\"\n },\n \"timestamp\": {\n \"description\": \"When the mention was posted\",\n \"type\": \"string\"\n },\n \"url\": {\n \"description\": \"URL link to the post\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"platform\",\n \"author\",\n \"content\",\n \"url\",\n \"sentiment\",\n \"engagement\",\n \"timestamp\"\n ],\n \"type\": \"object\"\n },\n \"type\": \"array\"\n },\n \"sentimentBreakdown\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"negative\": {\n \"description\": \"Count of negative mentions\",\n \"type\": \"number\"\n },\n \"neutral\": {\n \"description\": \"Count of neutral mentions\",\n \"type\": \"number\"\n },\n \"positive\": {\n \"description\": \"Count of positive mentions\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"positive\",\n \"negative\",\n \"neutral\"\n ],\n \"type\": \"object\"\n },\n \"summary\": {\n \"description\": \"Executive summary of brand mentions found\",\n \"type\": \"string\"\n },\n \"totalMentions\": {\n \"description\": \"Total number of brand mentions found\",\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"summary\",\n \"totalMentions\",\n \"mentions\",\n \"sentimentBreakdown\"\n ],\n \"type\": \"object\"\n },\n \"strict\": true\n}" + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "summary": { + "type": "string", + "description": "Executive summary of brand mentions found" + }, + "mentions": { + "type": "array", + "description": "Array of individual brand mentions" + }, + "totalMentions": { + "type": "number", + "description": "Total number of brand mentions found" + }, + "sentimentBreakdown": { + "type": "object", + "description": "Field from Agent: sentimentBreakdown" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic", + "reddit:oauthCredential": "basic" + } + }, + "locked": false + }, + "afb267b1-a20e-4755-8364-e4bb2ea99090": { + "id": "afb267b1-a20e-4755-8364-e4bb2ea99090", + "type": "note", + "name": "Agent Instructions", + "position": { + "x": 648.353914639655, + "y": -11.896402103479907 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "**Connect Reddit OAuth and X (Twitter) OAuth** for the tools" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "197d74b5-3de0-4b52-af6c-a37d6b9eae5b": { + "id": "197d74b5-3de0-4b52-af6c-a37d6b9eae5b", + "type": "note", + "name": "Notion Instructions", + "position": { + "x": 1142.0546019340711, + "y": -5.948201051739943 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "**Connect Notion OAuth** and set your Brand Mentions database ID" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "2861a55b-5cbe-4a8c-a313-ffe55d6a7bbf", + "source": "c08eabea-4a15-43dd-ab0e-324f8473cdda", + "target": "e17ebe08-1e34-4a5a-920e-ebbc12e616c7", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "525229fd-2095-4bea-84bc-bdc3c38f57bc", + "source": "e17ebe08-1e34-4a5a-920e-ebbc12e616c7", + "target": "a6d33ecb-4115-4979-9a3b-d3f1caf67288", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "brand-mention", + "description": "New workflow", + "color": "#9333ea", + "exportedAt": "2026-03-09T21:40:19.012Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/competitor-monitor-52454688-49ae-4279-894a-aa6494f10e3a.json b/apps/sim/public/landing-page-templates/competitor-monitor-52454688-49ae-4279-894a-aa6494f10e3a.json new file mode 100644 index 0000000000..b9729541f3 --- /dev/null +++ b/apps/sim/public/landing-page-templates/competitor-monitor-52454688-49ae-4279-894a-aa6494f10e3a.json @@ -0,0 +1,1000 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.012Z", + "state": { + "blocks": { + "439889ec-47e1-4e5a-b0dd-cfb55a871c7d": { + "id": "439889ec-47e1-4e5a-b0dd-cfb55a871c7d", + "type": "schedule", + "name": "dailyTrigger", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 143, + "subBlocks": { + "timezone": { + "id": "timezone", + "type": "short-input", + "value": "America/New_York" + }, + "dailyTime": { + "id": "dailyTime", + "type": "short-input", + "value": "08:00" + }, + "weeklyDay": { + "id": "weeklyDay", + "type": "dropdown", + "value": null + }, + "monthlyDay": { + "id": "monthlyDay", + "type": "short-input", + "value": null + }, + "monthlyTime": { + "id": "monthlyTime", + "type": "time-input", + "value": null + }, + "hourlyMinute": { + "id": "hourlyMinute", + "type": "short-input", + "value": null + }, + "scheduleInfo": { + "id": "scheduleInfo", + "type": "schedule-info", + "value": null + }, + "scheduleType": { + "id": "scheduleType", + "type": "short-input", + "value": "daily" + }, + "weeklyDayTime": { + "id": "weeklyDayTime", + "type": "time-input", + "value": null + }, + "cronExpression": { + "id": "cronExpression", + "type": "short-input", + "value": null + }, + "minutesInterval": { + "id": "minutesInterval", + "type": "short-input", + "value": null + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "731f954b-da21-42f0-9380-80dbabb9ef46": { + "id": "731f954b-da21-42f0-9380-80dbabb9ef46", + "type": "agent", + "name": "competitorMonitor", + "position": { + "x": 650, + "y": 151.99246659707774 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 288, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "id": "firecrawl-tool-001", + "type": "firecrawl", + "title": "Firecrawl", + "params": { + "apiKey": "{{FIRECRAWL_API_KEY}}" + }, + "toolId": "firecrawl_scrape", + "operation": "scrape", + "isExpanded": true, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": "{{XAI_API_KEY}}" + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "You are a competitive intelligence analyst. Your job is to monitor competitor websites and generate intelligence reports. Use the Firecrawl tool to scrape competitor websites and extract relevant information about their products, pricing, announcements, and strategies. Analyze the scraped content and produce a concise intelligence summary with key findings, notable changes, and strategic implications." + }, + { + "role": "user", + "content": "Scrape and analyze the following competitor websites to generate today's competitive intelligence report:\n\n- https://competitor1.com\n- https://competitor2.com\n- https://competitor3.com\n\nFocus on: product updates, pricing changes, new features, press releases, and any strategic announcements." + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic" + } + }, + "locked": false + }, + "cb810658-b90a-4b5f-a29e-f5a4f263dc73": { + "id": "cb810658-b90a-4b5f-a29e-f5a4f263dc73", + "type": "slack", + "name": "slackNotify", + "position": { + "x": 1150, + "y": 152.03039118454393 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 346, + "subBlocks": { + "text": { + "id": "text", + "type": "short-input", + "value": "📊 *Daily Competitive Intelligence Report*\n\n" + }, + "files": { + "id": "files", + "type": "short-input", + "value": null + }, + "limit": { + "id": "limit", + "type": "short-input", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "blocks": { + "id": "blocks", + "type": "code", + "value": null + }, + "fileId": { + "id": "fileId", + "type": "short-input", + "value": null + }, + "oldest": { + "id": "oldest", + "type": "short-input", + "value": null + }, + "userId": { + "id": "userId", + "type": "user-selector", + "value": null + }, + "viewId": { + "id": "viewId", + "type": "short-input", + "value": null + }, + "channel": { + "id": "channel", + "type": "channel-selector", + "value": null + }, + "content": { + "id": "content", + "type": "long-input", + "value": null + }, + "botToken": { + "id": "botToken", + "type": "short-input", + "value": null + }, + "dmUserId": { + "id": "dmUserId", + "type": "user-selector", + "value": null + }, + "threadTs": { + "id": "threadTs", + "type": "short-input", + "value": null + }, + "viewHash": { + "id": "viewHash", + "type": "short-input", + "value": null + }, + "emojiName": { + "id": "emojiName", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "send" + }, + "sectionId": { + "id": "sectionId", + "type": "short-input", + "value": null + }, + "userLimit": { + "id": "userLimit", + "type": "short-input", + "value": null + }, + "authMethod": { + "id": "authMethod", + "type": "short-input", + "value": "oauth" + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "updateText": { + "id": "updateText", + "type": "long-input", + "value": null + }, + "canvasTitle": { + "id": "canvasTitle", + "type": "short-input", + "value": null + }, + "memberLimit": { + "id": "memberLimit", + "type": "short-input", + "value": null + }, + "threadLimit": { + "id": "threadLimit", + "type": "short-input", + "value": null + }, + "viewPayload": { + "id": "viewPayload", + "type": "code", + "value": null + }, + "channelLimit": { + "id": "channelLimit", + "type": "short-input", + "value": null + }, + "editCanvasId": { + "id": "editCanvasId", + "type": "short-input", + "value": null + }, + "includeFiles": { + "id": "includeFiles", + "type": "switch", + "value": null + }, + "manualUserId": { + "id": "manualUserId", + "type": "short-input", + "value": null + }, + "canvasContent": { + "id": "canvasContent", + "type": "long-input", + "value": null + }, + "ephemeralUser": { + "id": "ephemeralUser", + "type": "user-selector", + "value": null + }, + "manualChannel": { + "id": "manualChannel", + "type": "short-input", + "value": "" + }, + "messageFormat": { + "id": "messageFormat", + "type": "short-input", + "value": "text" + }, + "publishUserId": { + "id": "publishUserId", + "type": "user-selector", + "value": null + }, + "signingSecret": { + "id": "signingSecret", + "type": "short-input", + "value": null + }, + "viewTriggerId": { + "id": "viewTriggerId", + "type": "short-input", + "value": null + }, + "includeDeleted": { + "id": "includeDeleted", + "type": "dropdown", + "value": null + }, + "includePrivate": { + "id": "includePrivate", + "type": "dropdown", + "value": null + }, + "manualDmUserId": { + "id": "manualDmUserId", + "type": "short-input", + "value": null + }, + "presenceUserId": { + "id": "presenceUserId", + "type": "user-selector", + "value": null + }, + "viewExternalId": { + "id": "viewExternalId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "canvasOperation": { + "id": "canvasOperation", + "type": "dropdown", + "value": null + }, + "deleteTimestamp": { + "id": "deleteTimestamp", + "type": "short-input", + "value": null + }, + "destinationType": { + "id": "destinationType", + "type": "short-input", + "value": "channel" + }, + "updateTimestamp": { + "id": "updateTimestamp", + "type": "short-input", + "value": null + }, + "downloadFileName": { + "id": "downloadFileName", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "includeNumMembers": { + "id": "includeNumMembers", + "type": "dropdown", + "value": null + }, + "reactionTimestamp": { + "id": "reactionTimestamp", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay": { + "id": "webhookUrlDisplay", + "type": "short-input", + "value": null + }, + "channelCanvasTitle": { + "id": "channelCanvasTitle", + "type": "short-input", + "value": null + }, + "getThreadTimestamp": { + "id": "getThreadTimestamp", + "type": "short-input", + "value": null + }, + "getMessageTimestamp": { + "id": "getMessageTimestamp", + "type": "short-input", + "value": null + }, + "manualEphemeralUser": { + "id": "manualEphemeralUser", + "type": "short-input", + "value": null + }, + "manualPublishUserId": { + "id": "manualPublishUserId", + "type": "short-input", + "value": null + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "channelCanvasContent": { + "id": "channelCanvasContent", + "type": "long-input", + "value": null + }, + "manualPresenceUserId": { + "id": "manualPresenceUserId", + "type": "short-input", + "value": null + }, + "viewInteractivityPointer": { + "id": "viewInteractivityPointer", + "type": "short-input", + "value": null + }, + "samplePayload_slack_webhook": { + "id": "samplePayload_slack_webhook", + "type": "code", + "value": null + } + }, + "outputs": { + "ts": { + "type": "string", + "description": "Message timestamp" + }, + "files": { + "type": "file[]", + "description": "Files attached to the message" + }, + "channel": { + "type": "string", + "description": "Channel ID where message was sent" + }, + "message": { + "type": "object", + "properties": { + "ts": { + "type": "string", + "description": "Message timestamp (unique identifier)" + }, + "team": { + "type": "string", + "optional": true, + "description": "Team/workspace ID" + }, + "text": { + "type": "string", + "description": "Message text content" + }, + "type": { + "type": "string", + "description": "Message type (usually \"message\")" + }, + "user": { + "type": "string", + "optional": true, + "description": "User ID who sent the message" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique file identifier" + }, + "mode": { + "type": "string", + "optional": true, + "description": "File mode (hosted, external, etc.)" + }, + "name": { + "type": "string", + "description": "File name" + }, + "size": { + "type": "number", + "description": "File size in bytes" + }, + "mimetype": { + "type": "string", + "description": "MIME type of the file" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent link to the file" + }, + "url_private": { + "type": "string", + "optional": true, + "description": "Private download URL (requires auth)" + } + } + }, + "description": "Files attached to the message" + }, + "blocks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Block type (section, divider, image, actions, etc.)" + }, + "block_id": { + "type": "string", + "optional": true, + "description": "Unique block identifier" + } + } + }, + "description": "Block Kit blocks in the message" + }, + "bot_id": { + "type": "string", + "optional": true, + "description": "Bot ID if sent by a bot" + }, + "edited": { + "type": "object", + "optional": true, + "properties": { + "ts": { + "type": "string", + "description": "Timestamp of the edit" + }, + "user": { + "type": "string", + "description": "User ID who edited the message" + } + }, + "description": "Edit information if message was edited" + }, + "channel": { + "type": "string", + "optional": true, + "description": "Channel ID" + }, + "subtype": { + "type": "string", + "optional": true, + "description": "Message subtype (bot_message, file_share, etc.)" + }, + "username": { + "type": "string", + "optional": true, + "description": "Display username" + }, + "last_read": { + "type": "string", + "optional": true, + "description": "Timestamp of last read message" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent URL to the message" + }, + "pinned_to": { + "type": "array", + "items": { + "type": "string", + "description": "Channel ID" + }, + "optional": true, + "description": "Channel IDs where message is pinned" + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Emoji name (without colons)" + }, + "count": { + "type": "number", + "description": "Number of times this reaction was added" + }, + "users": { + "type": "array", + "items": { + "type": "string", + "description": "User ID" + }, + "description": "Array of user IDs who reacted" + } + } + }, + "description": "Reactions on this message" + }, + "thread_ts": { + "type": "string", + "optional": true, + "description": "Parent message timestamp (for threaded replies)" + }, + "is_starred": { + "type": "boolean", + "optional": true, + "description": "Whether message is starred by user" + }, + "subscribed": { + "type": "boolean", + "optional": true, + "description": "Whether user is subscribed to thread" + }, + "attachments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "optional": true, + "description": "Attachment ID" + }, + "ts": { + "type": "string", + "optional": true, + "description": "Timestamp shown in footer" + }, + "text": { + "type": "string", + "optional": true, + "description": "Main attachment text" + }, + "color": { + "type": "string", + "optional": true, + "description": "Color bar hex code or preset" + }, + "title": { + "type": "string", + "optional": true, + "description": "Attachment title" + }, + "footer": { + "type": "string", + "optional": true, + "description": "Footer text" + }, + "pretext": { + "type": "string", + "optional": true, + "description": "Text shown before attachment" + }, + "fallback": { + "type": "string", + "optional": true, + "description": "Plain text summary" + }, + "image_url": { + "type": "string", + "optional": true, + "description": "Image URL" + }, + "thumb_url": { + "type": "string", + "optional": true, + "description": "Thumbnail URL" + }, + "title_link": { + "type": "string", + "optional": true, + "description": "Title link URL" + }, + "author_icon": { + "type": "string", + "optional": true, + "description": "Author icon URL" + }, + "author_link": { + "type": "string", + "optional": true, + "description": "Author link URL" + }, + "author_name": { + "type": "string", + "optional": true, + "description": "Author display name" + }, + "footer_icon": { + "type": "string", + "optional": true, + "description": "Footer icon URL" + } + } + }, + "description": "Legacy attachments on the message" + }, + "reply_count": { + "type": "number", + "optional": true, + "description": "Total number of replies in thread" + }, + "latest_reply": { + "type": "string", + "optional": true, + "description": "Timestamp of most recent reply" + }, + "unread_count": { + "type": "number", + "optional": true, + "description": "Number of unread messages in thread" + }, + "parent_user_id": { + "type": "string", + "optional": true, + "description": "User ID of thread parent message author" + }, + "reply_users_count": { + "type": "number", + "optional": true, + "description": "Number of unique users who replied" + } + }, + "description": "Complete message object with all properties returned by Slack" + }, + "fileCount": { + "type": "number", + "description": "Number of files uploaded (when files are attached)" + } + }, + "data": { + "canonicalModes": { + "files": "basic", + "userId": "basic", + "channel": "basic", + "dmUserId": "basic", + "ephemeralUser": "basic", + "publishUserId": "basic", + "presenceUserId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "bc6068ea-dd8d-47d7-81e1-ef7a96e6efbd": { + "id": "bc6068ea-dd8d-47d7-81e1-ef7a96e6efbd", + "type": "note", + "name": "Slack Setup", + "position": { + "x": 1156.803672853451, + "y": -12.681136365725202 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Slack Account \n- Select Relevant Channel " + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "c22b10a9-7257-490f-9514-eb6ff6df8a4b": { + "id": "c22b10a9-7257-490f-9514-eb6ff6df8a4b", + "type": "note", + "name": "Agent Setup", + "position": { + "x": 654.1268341436415, + "y": -4.769416752261463 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "Update prompt to actually have your competitors and select a model!" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "07c2d847-d752-41fb-a43d-1e7d9a4f0ccf", + "source": "439889ec-47e1-4e5a-b0dd-cfb55a871c7d", + "target": "731f954b-da21-42f0-9380-80dbabb9ef46", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "1a4658d6-e783-48ef-a80d-499823cd9609", + "source": "731f954b-da21-42f0-9380-80dbabb9ef46", + "target": "cb810658-b90a-4b5f-a29e-f5a4f263dc73", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "competitor-monitor", + "description": "New workflow", + "color": "#9d174d", + "exportedAt": "2026-03-09T21:40:19.012Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/customer-feedback-digest-2a1c59de-fdcc-4ae0-b448-69a58b36c29a.json b/apps/sim/public/landing-page-templates/customer-feedback-digest-2a1c59de-fdcc-4ae0-b448-69a58b36c29a.json new file mode 100644 index 0000000000..ede480b06e --- /dev/null +++ b/apps/sim/public/landing-page-templates/customer-feedback-digest-2a1c59de-fdcc-4ae0-b448-69a58b36c29a.json @@ -0,0 +1,985 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.011Z", + "state": { + "blocks": { + "8c66431f-268e-4a9f-8a82-911a87852551": { + "id": "8c66431f-268e-4a9f-8a82-911a87852551", + "type": "schedule", + "name": "Schedule", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 143, + "subBlocks": { + "timezone": { + "id": "timezone", + "type": "short-input", + "value": "UTC" + }, + "dailyTime": { + "id": "dailyTime", + "type": "short-input", + "value": "09:00" + }, + "inputFormat": { + "id": "inputFormat", + "type": "input-format", + "value": [ + { + "id": "302f0e72-397c-447a-a606-7288ed3a4783", + "name": "", + "type": "string", + "value": "", + "collapsed": false + } + ] + }, + "scheduleType": { + "id": "scheduleType", + "type": "short-input", + "value": "daily" + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "User uploaded files" + }, + "input": { + "type": "string", + "description": "Primary user input or message" + }, + "conversationId": { + "type": "string", + "description": "Conversation thread identifier" + } + }, + "data": {}, + "locked": false + }, + "cc8cb3bb-ed7b-434e-b04e-8156ecf238af": { + "id": "cc8cb3bb-ed7b-434e-b04e-8156ecf238af", + "type": "slack", + "name": "Slack", + "position": { + "x": 1147.930096816991, + "y": 147.9300968169909 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 346, + "subBlocks": { + "text": { + "id": "text", + "type": "short-input", + "value": "" + }, + "files": { + "id": "files", + "type": "short-input", + "value": null + }, + "limit": { + "id": "limit", + "type": "short-input", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "blocks": { + "id": "blocks", + "type": "code", + "value": null + }, + "fileId": { + "id": "fileId", + "type": "short-input", + "value": null + }, + "oldest": { + "id": "oldest", + "type": "short-input", + "value": null + }, + "userId": { + "id": "userId", + "type": "user-selector", + "value": null + }, + "viewId": { + "id": "viewId", + "type": "short-input", + "value": null + }, + "channel": { + "id": "channel", + "type": "channel-selector", + "value": null + }, + "content": { + "id": "content", + "type": "long-input", + "value": null + }, + "botToken": { + "id": "botToken", + "type": "short-input", + "value": null + }, + "dmUserId": { + "id": "dmUserId", + "type": "user-selector", + "value": null + }, + "threadTs": { + "id": "threadTs", + "type": "short-input", + "value": null + }, + "viewHash": { + "id": "viewHash", + "type": "short-input", + "value": null + }, + "emojiName": { + "id": "emojiName", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "send" + }, + "sectionId": { + "id": "sectionId", + "type": "short-input", + "value": null + }, + "userLimit": { + "id": "userLimit", + "type": "short-input", + "value": null + }, + "authMethod": { + "id": "authMethod", + "type": "short-input", + "value": "oauth" + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "updateText": { + "id": "updateText", + "type": "long-input", + "value": null + }, + "canvasTitle": { + "id": "canvasTitle", + "type": "short-input", + "value": null + }, + "memberLimit": { + "id": "memberLimit", + "type": "short-input", + "value": null + }, + "threadLimit": { + "id": "threadLimit", + "type": "short-input", + "value": null + }, + "viewPayload": { + "id": "viewPayload", + "type": "code", + "value": null + }, + "channelLimit": { + "id": "channelLimit", + "type": "short-input", + "value": null + }, + "editCanvasId": { + "id": "editCanvasId", + "type": "short-input", + "value": null + }, + "includeFiles": { + "id": "includeFiles", + "type": "switch", + "value": null + }, + "manualUserId": { + "id": "manualUserId", + "type": "short-input", + "value": null + }, + "canvasContent": { + "id": "canvasContent", + "type": "long-input", + "value": null + }, + "ephemeralUser": { + "id": "ephemeralUser", + "type": "user-selector", + "value": null + }, + "manualChannel": { + "id": "manualChannel", + "type": "short-input", + "value": "" + }, + "messageFormat": { + "id": "messageFormat", + "type": "short-input", + "value": "text" + }, + "publishUserId": { + "id": "publishUserId", + "type": "user-selector", + "value": null + }, + "signingSecret": { + "id": "signingSecret", + "type": "short-input", + "value": null + }, + "viewTriggerId": { + "id": "viewTriggerId", + "type": "short-input", + "value": null + }, + "includeDeleted": { + "id": "includeDeleted", + "type": "dropdown", + "value": null + }, + "includePrivate": { + "id": "includePrivate", + "type": "dropdown", + "value": null + }, + "manualDmUserId": { + "id": "manualDmUserId", + "type": "short-input", + "value": null + }, + "presenceUserId": { + "id": "presenceUserId", + "type": "user-selector", + "value": null + }, + "viewExternalId": { + "id": "viewExternalId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "canvasOperation": { + "id": "canvasOperation", + "type": "dropdown", + "value": null + }, + "deleteTimestamp": { + "id": "deleteTimestamp", + "type": "short-input", + "value": null + }, + "destinationType": { + "id": "destinationType", + "type": "short-input", + "value": "channel" + }, + "updateTimestamp": { + "id": "updateTimestamp", + "type": "short-input", + "value": null + }, + "downloadFileName": { + "id": "downloadFileName", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "includeNumMembers": { + "id": "includeNumMembers", + "type": "dropdown", + "value": null + }, + "reactionTimestamp": { + "id": "reactionTimestamp", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay": { + "id": "webhookUrlDisplay", + "type": "short-input", + "value": null + }, + "channelCanvasTitle": { + "id": "channelCanvasTitle", + "type": "short-input", + "value": null + }, + "getThreadTimestamp": { + "id": "getThreadTimestamp", + "type": "short-input", + "value": null + }, + "getMessageTimestamp": { + "id": "getMessageTimestamp", + "type": "short-input", + "value": null + }, + "manualEphemeralUser": { + "id": "manualEphemeralUser", + "type": "short-input", + "value": null + }, + "manualPublishUserId": { + "id": "manualPublishUserId", + "type": "short-input", + "value": null + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "channelCanvasContent": { + "id": "channelCanvasContent", + "type": "long-input", + "value": null + }, + "manualPresenceUserId": { + "id": "manualPresenceUserId", + "type": "short-input", + "value": null + }, + "viewInteractivityPointer": { + "id": "viewInteractivityPointer", + "type": "short-input", + "value": null + }, + "samplePayload_slack_webhook": { + "id": "samplePayload_slack_webhook", + "type": "code", + "value": null + } + }, + "outputs": { + "ts": { + "type": "string", + "description": "Message timestamp" + }, + "files": { + "type": "file[]", + "description": "Files attached to the message" + }, + "channel": { + "type": "string", + "description": "Channel ID where message was sent" + }, + "message": { + "type": "object", + "properties": { + "ts": { + "type": "string", + "description": "Message timestamp (unique identifier)" + }, + "team": { + "type": "string", + "optional": true, + "description": "Team/workspace ID" + }, + "text": { + "type": "string", + "description": "Message text content" + }, + "type": { + "type": "string", + "description": "Message type (usually \"message\")" + }, + "user": { + "type": "string", + "optional": true, + "description": "User ID who sent the message" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique file identifier" + }, + "mode": { + "type": "string", + "optional": true, + "description": "File mode (hosted, external, etc.)" + }, + "name": { + "type": "string", + "description": "File name" + }, + "size": { + "type": "number", + "description": "File size in bytes" + }, + "mimetype": { + "type": "string", + "description": "MIME type of the file" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent link to the file" + }, + "url_private": { + "type": "string", + "optional": true, + "description": "Private download URL (requires auth)" + } + } + }, + "description": "Files attached to the message" + }, + "blocks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Block type (section, divider, image, actions, etc.)" + }, + "block_id": { + "type": "string", + "optional": true, + "description": "Unique block identifier" + } + } + }, + "description": "Block Kit blocks in the message" + }, + "bot_id": { + "type": "string", + "optional": true, + "description": "Bot ID if sent by a bot" + }, + "edited": { + "type": "object", + "optional": true, + "properties": { + "ts": { + "type": "string", + "description": "Timestamp of the edit" + }, + "user": { + "type": "string", + "description": "User ID who edited the message" + } + }, + "description": "Edit information if message was edited" + }, + "channel": { + "type": "string", + "optional": true, + "description": "Channel ID" + }, + "subtype": { + "type": "string", + "optional": true, + "description": "Message subtype (bot_message, file_share, etc.)" + }, + "username": { + "type": "string", + "optional": true, + "description": "Display username" + }, + "last_read": { + "type": "string", + "optional": true, + "description": "Timestamp of last read message" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent URL to the message" + }, + "pinned_to": { + "type": "array", + "items": { + "type": "string", + "description": "Channel ID" + }, + "optional": true, + "description": "Channel IDs where message is pinned" + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Emoji name (without colons)" + }, + "count": { + "type": "number", + "description": "Number of times this reaction was added" + }, + "users": { + "type": "array", + "items": { + "type": "string", + "description": "User ID" + }, + "description": "Array of user IDs who reacted" + } + } + }, + "description": "Reactions on this message" + }, + "thread_ts": { + "type": "string", + "optional": true, + "description": "Parent message timestamp (for threaded replies)" + }, + "is_starred": { + "type": "boolean", + "optional": true, + "description": "Whether message is starred by user" + }, + "subscribed": { + "type": "boolean", + "optional": true, + "description": "Whether user is subscribed to thread" + }, + "attachments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "optional": true, + "description": "Attachment ID" + }, + "ts": { + "type": "string", + "optional": true, + "description": "Timestamp shown in footer" + }, + "text": { + "type": "string", + "optional": true, + "description": "Main attachment text" + }, + "color": { + "type": "string", + "optional": true, + "description": "Color bar hex code or preset" + }, + "title": { + "type": "string", + "optional": true, + "description": "Attachment title" + }, + "footer": { + "type": "string", + "optional": true, + "description": "Footer text" + }, + "pretext": { + "type": "string", + "optional": true, + "description": "Text shown before attachment" + }, + "fallback": { + "type": "string", + "optional": true, + "description": "Plain text summary" + }, + "image_url": { + "type": "string", + "optional": true, + "description": "Image URL" + }, + "thumb_url": { + "type": "string", + "optional": true, + "description": "Thumbnail URL" + }, + "title_link": { + "type": "string", + "optional": true, + "description": "Title link URL" + }, + "author_icon": { + "type": "string", + "optional": true, + "description": "Author icon URL" + }, + "author_link": { + "type": "string", + "optional": true, + "description": "Author link URL" + }, + "author_name": { + "type": "string", + "optional": true, + "description": "Author display name" + }, + "footer_icon": { + "type": "string", + "optional": true, + "description": "Footer icon URL" + } + } + }, + "description": "Legacy attachments on the message" + }, + "reply_count": { + "type": "number", + "optional": true, + "description": "Total number of replies in thread" + }, + "latest_reply": { + "type": "string", + "optional": true, + "description": "Timestamp of most recent reply" + }, + "unread_count": { + "type": "number", + "optional": true, + "description": "Number of unread messages in thread" + }, + "parent_user_id": { + "type": "string", + "optional": true, + "description": "User ID of thread parent message author" + }, + "reply_users_count": { + "type": "number", + "optional": true, + "description": "Number of unique users who replied" + } + }, + "description": "Complete message object with all properties returned by Slack" + }, + "fileCount": { + "type": "number", + "description": "Number of files uploaded (when files are attached)" + } + }, + "data": { + "canonicalModes": { + "files": "basic", + "userId": "basic", + "channel": "basic", + "dmUserId": "basic", + "ephemeralUser": "basic", + "publishUserId": "basic", + "presenceUserId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "1d05547e-1846-4049-9fc4-702f2f485ae6": { + "id": "1d05547e-1846-4049-9fc4-702f2f485ae6", + "type": "agent", + "name": "Agent", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 288, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "type": "airtable", + "title": "Airtable - List Records", + "params": { + "credential": "cred_0fe457b3f0f1dde225e2d8154ee805e7" + }, + "toolId": "airtable_list", + "operation": "list", + "isExpanded": true, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Analyze customer feedback from Airtable and provide a summary of key themes, sentiment, and actionable insights." + }, + { + "role": "user", + "content": "Please analyze the customer feedback data from Airtable. Use the Airtable tool to read records, then provide:\n1. Key themes and patterns\n2. Overall sentiment analysis\n3. Actionable insights and recommendations" + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic" + } + }, + "locked": false + }, + "d8d12249-8b91-4a3b-bbc8-1d51c67c092f": { + "id": "d8d12249-8b91-4a3b-bbc8-1d51c67c092f", + "type": "note", + "name": "Agent Setup", + "position": { + "x": 650.9694391022937, + "y": 11.624006617722983 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Select Airtable Base, Table and any additional configuration " + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "3e14e5e6-ff10-4898-a701-85248ab19835": { + "id": "3e14e5e6-ff10-4898-a701-85248ab19835", + "type": "note", + "name": "Slack Setup", + "position": { + "x": 1146.9403940050252, + "y": -6.047832905104045 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Select Slack Account \n- Select Slack Channel" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "a0c1c15f-3c37-4b59-93b4-7503f1ec7c62", + "source": "8c66431f-268e-4a9f-8a82-911a87852551", + "target": "1d05547e-1846-4049-9fc4-702f2f485ae6", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "19ed0fc8-5643-41e2-9025-3c7809572f33", + "source": "1d05547e-1846-4049-9fc4-702f2f485ae6", + "target": "cc8cb3bb-ed7b-434e-b04e-8156ecf238af", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "customer-feedback-digest", + "description": "New workflow", + "color": "#c92626", + "exportedAt": "2026-03-09T21:40:19.011Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/email-triage-57e84f83-c583-4e74-b73a-080d25f2074d.json b/apps/sim/public/landing-page-templates/email-triage-57e84f83-c583-4e74-b73a-080d25f2074d.json new file mode 100644 index 0000000000..fbe807da00 --- /dev/null +++ b/apps/sim/public/landing-page-templates/email-triage-57e84f83-c583-4e74-b73a-080d25f2074d.json @@ -0,0 +1,551 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.013Z", + "state": { + "blocks": { + "9a5153ed-d5ae-40a1-a5c6-b17f1c4b8174": { + "id": "9a5153ed-d5ae-40a1-a5c6-b17f1c4b8174", + "type": "gmail_v2", + "name": "Gmail1", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 230, + "subBlocks": { + "cc": { + "id": "cc", + "type": "short-input", + "value": null + }, + "to": { + "id": "to", + "type": "short-input", + "value": null + }, + "bcc": { + "id": "bcc", + "type": "short-input", + "value": null + }, + "body": { + "id": "body", + "type": "long-input", + "value": null + }, + "query": { + "id": "query", + "type": "short-input", + "value": null + }, + "folder": { + "id": "folder", + "type": "folder-selector", + "value": null + }, + "subject": { + "id": "subject", + "type": "short-input", + "value": null + }, + "labelIds": { + "id": "labelIds", + "type": "dropdown", + "value": null + }, + "threadId": { + "id": "threadId", + "type": "short-input", + "value": null + }, + "messageId": { + "id": "messageId", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "dropdown", + "value": null + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "markAsRead": { + "id": "markAsRead", + "type": "short-input", + "value": false + }, + "maxResults": { + "id": "maxResults", + "type": "short-input", + "value": null + }, + "unreadOnly": { + "id": "unreadOnly", + "type": "switch", + "value": null + }, + "attachments": { + "id": "attachments", + "type": "short-input", + "value": null + }, + "contentType": { + "id": "contentType", + "type": "dropdown", + "value": null + }, + "searchQuery": { + "id": "searchQuery", + "type": "short-input", + "value": null + }, + "sourceLabel": { + "id": "sourceLabel", + "type": "folder-selector", + "value": null + }, + "manualFolder": { + "id": "manualFolder", + "type": "short-input", + "value": null + }, + "labelSelector": { + "id": "labelSelector", + "type": "folder-selector", + "value": null + }, + "manualLabelId": { + "id": "manualLabelId", + "type": "short-input", + "value": null + }, + "moveMessageId": { + "id": "moveMessageId", + "type": "short-input", + "value": null + }, + "actionMessageId": { + "id": "actionMessageId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "destinationLabel": { + "id": "destinationLabel", + "type": "folder-selector", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "replyToMessageId": { + "id": "replyToMessageId", + "type": "short-input", + "value": null + }, + "manualSourceLabel": { + "id": "manualSourceLabel", + "type": "short-input", + "value": null + }, + "includeAttachments": { + "id": "includeAttachments", + "type": "short-input", + "value": false + }, + "triggerCredentials": { + "id": "triggerCredentials", + "type": "oauth-input", + "value": null + }, + "labelFilterBehavior": { + "id": "labelFilterBehavior", + "type": "short-input", + "value": "INCLUDE" + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "labelActionMessageId": { + "id": "labelActionMessageId", + "type": "short-input", + "value": null + }, + "manualDestinationLabel": { + "id": "manualDestinationLabel", + "type": "short-input", + "value": null + }, + "samplePayload_gmail_poller": { + "id": "samplePayload_gmail_poller", + "type": "code", + "value": null + } + }, + "outputs": { + "email": { + "cc": { + "type": "string", + "description": "CC recipients" + }, + "id": { + "type": "string", + "description": "Gmail message ID" + }, + "to": { + "type": "string", + "description": "Recipient email address" + }, + "date": { + "type": "string", + "description": "Email date in ISO format" + }, + "from": { + "type": "string", + "description": "Sender email address" + }, + "labels": { + "type": "string", + "description": "Email labels array" + }, + "subject": { + "type": "string", + "description": "Email subject line" + }, + "bodyHtml": { + "type": "string", + "description": "HTML email body" + }, + "bodyText": { + "type": "string", + "description": "Plain text email body" + }, + "threadId": { + "type": "string", + "description": "Gmail thread ID" + }, + "attachments": { + "type": "file[]", + "description": "Array of email attachments as files (if includeAttachments is enabled)" + }, + "hasAttachments": { + "type": "boolean", + "description": "Whether email has attachments" + } + }, + "timestamp": { + "type": "string", + "description": "Event timestamp" + } + }, + "data": { + "canonicalModes": { + "folder": "basic", + "addLabelIds": "basic", + "attachments": "basic", + "manageLabelId": "basic", + "removeLabelIds": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "8b2cb83b-86ad-45c1-9af6-d03ea645128e": { + "id": "8b2cb83b-86ad-45c1-9af6-d03ea645128e", + "type": "note", + "name": "Gmail Setup", + "position": { + "x": 156.1976672520025, + "y": -43.44719468951199 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Gmail Account \n- Select Relevant Labels to Monitor (Optional)" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "73ccae2c-cdef-435e-a1d6-4fa2f8b798aa": { + "id": "73ccae2c-cdef-435e-a1d6-4fa2f8b798aa", + "type": "agent", + "name": "Agent1", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 288, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "claude-sonnet-4-5" + }, + "tools": { + "id": "tools", + "type": "tool-input", + "value": [ + { + "type": "linear", + "title": "Linear", + "params": { + "priority": "0", + "manualTeamId": "", + "manualProjectId": "" + }, + "toolId": "linear_create_issue", + "operation": "linear_create_issue", + "isExpanded": false, + "credentialId": "VASXEoZWRpOraVP2Exmm9X62lT3ofDmZ", + "usageControl": "auto" + }, + { + "type": "slack", + "title": "Slack", + "params": { + "authMethod": "oauth", + "destinationType": "channel" + }, + "toolId": "slack_message", + "operation": "send", + "isExpanded": false, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Classify and route incoming emails. You have access to tools for Slack notifications and Linear issue creation.\n\nWhen you determine an email is urgent, use the Slack tool to send a notification to the #urgent channel.\nWhen you determine an email needs a support issue, use the Linear tool to create an issue in the Support project.\n\nYou can use both tools if an email is both urgent AND needs a support issue." + }, + { + "role": "user", + "content": "Classify this email:\n\nFrom: \nSubject: \nBody: \n\nDetermine if it is urgent (needs immediate Slack notification) or support-related (needs a Linear issue). Take appropriate action using your tools." + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "linear:teamId": "basic", + "slack:channel": "basic", + "oauthCredential": "basic", + "linear:projectId": "basic" + } + }, + "locked": false + }, + "74ce7030-0faf-4efd-9439-8a0d516871e2": { + "id": "74ce7030-0faf-4efd-9439-8a0d516871e2", + "type": "note", + "name": "Agent Setup", + "position": { + "x": 647.4883532288753, + "y": -66.95469058004684 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Linear Account \n- Connect Slack Account and select channel" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "aa9449b6-2d66-4009-b931-682e45d841a0", + "source": "9a5153ed-d5ae-40a1-a5c6-b17f1c4b8174", + "target": "73ccae2c-cdef-435e-a1d6-4fa2f8b798aa", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "email-triage", + "description": "New workflow", + "color": "#048628", + "exportedAt": "2026-03-09T21:40:19.012Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/gh-release-agent-d3bed10e-fc87-4fdb-b458-80d8e43757d3.json b/apps/sim/public/landing-page-templates/gh-release-agent-d3bed10e-fc87-4fdb-b458-80d8e43757d3.json new file mode 100644 index 0000000000..c57bca5b9f --- /dev/null +++ b/apps/sim/public/landing-page-templates/gh-release-agent-d3bed10e-fc87-4fdb-b458-80d8e43757d3.json @@ -0,0 +1,2075 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.014Z", + "state": { + "blocks": { + "e398e133-7e54-4e7e-93da-d689e6e24c62": { + "id": "e398e133-7e54-4e7e-93da-d689e6e24c62", + "type": "github_v2", + "name": "githubtrigger", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 201, + "subBlocks": { + "q": { + "id": "q", + "type": "short-input", + "value": null + }, + "ref": { + "id": "ref", + "type": "short-input", + "value": null + }, + "sha": { + "id": "sha", + "type": "short-input", + "value": null + }, + "base": { + "id": "base", + "type": "short-input", + "value": null + }, + "body": { + "id": "body", + "type": "long-input", + "value": null + }, + "head": { + "id": "head", + "type": "short-input", + "value": null + }, + "line": { + "id": "line", + "type": "short-input", + "value": null + }, + "name": { + "id": "name", + "type": "short-input", + "value": null + }, + "path": { + "id": "path", + "type": "short-input", + "value": null + }, + "repo": { + "id": "repo", + "type": "short-input", + "value": null + }, + "sort": { + "id": "sort", + "type": "dropdown", + "value": null + }, + "draft": { + "id": "draft", + "type": "dropdown", + "value": null + }, + "files": { + "id": "files", + "type": "long-input", + "value": null + }, + "order": { + "id": "order", + "type": "dropdown", + "value": null + }, + "owner": { + "id": "owner", + "type": "short-input", + "value": null + }, + "since": { + "id": "since", + "type": "short-input", + "value": null + }, + "state": { + "id": "state", + "type": "dropdown", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "until": { + "id": "until", + "type": "short-input", + "value": null + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "author": { + "id": "author", + "type": "short-input", + "value": null + }, + "branch": { + "id": "branch", + "type": "short-input", + "value": null + }, + "due_on": { + "id": "due_on", + "type": "short-input", + "value": null + }, + "inputs": { + "id": "inputs", + "type": "long-input", + "value": null + }, + "labels": { + "id": "labels", + "type": "short-input", + "value": null + }, + "run_id": { + "id": "run_id", + "type": "short-input", + "value": null + }, + "status": { + "id": "status", + "type": "dropdown", + "value": null + }, + "content": { + "id": "content", + "type": "long-input", + "value": null + }, + "gist_id": { + "id": "gist_id", + "type": "short-input", + "value": null + }, + "message": { + "id": "message", + "type": "short-input", + "value": null + }, + "owner_id": { + "id": "owner_id", + "type": "short-input", + "value": null + }, + "per_page": { + "id": "per_page", + "type": "short-input", + "value": null + }, + "tag_name": { + "id": "tag_name", + "type": "short-input", + "value": null + }, + "username": { + "id": "username", + "type": "short-input", + "value": null + }, + "assignees": { + "id": "assignees", + "type": "short-input", + "value": null + }, + "fork_name": { + "id": "fork_name", + "type": "short-input", + "value": null + }, + "fork_sort": { + "id": "fork_sort", + "type": "dropdown", + "value": null + }, + "operation": { + "id": "operation", + "type": "dropdown", + "value": null + }, + "protected": { + "id": "protected", + "type": "dropdown", + "value": null + }, + "reviewers": { + "id": "reviewers", + "type": "short-input", + "value": null + }, + "comment_id": { + "id": "comment_id", + "type": "short-input", + "value": null + }, + "owner_type": { + "id": "owner_type", + "type": "dropdown", + "value": null + }, + "prerelease": { + "id": "prerelease", + "type": "dropdown", + "value": null + }, + "project_id": { + "id": "project_id", + "type": "short-input", + "value": null + }, + "pullNumber": { + "id": "pullNumber", + "type": "short-input", + "value": null + }, + "release_id": { + "id": "release_id", + "type": "short-input", + "value": null + }, + "commentType": { + "id": "commentType", + "type": "dropdown", + "value": null + }, + "contentType": { + "id": "contentType", + "type": "short-input", + "value": "application/json" + }, + "description": { + "id": "description", + "type": "short-input", + "value": null + }, + "gist_public": { + "id": "gist_public", + "type": "dropdown", + "value": null + }, + "owner_login": { + "id": "owner_login", + "type": "short-input", + "value": null + }, + "reaction_id": { + "id": "reaction_id", + "type": "short-input", + "value": null + }, + "workflow_id": { + "id": "workflow_id", + "type": "short-input", + "value": null + }, + "commit_title": { + "id": "commit_title", + "type": "short-input", + "value": null + }, + "issue_number": { + "id": "issue_number", + "type": "short-input", + "value": null + }, + "merge_method": { + "id": "merge_method", + "type": "dropdown", + "value": null + }, + "organization": { + "id": "organization", + "type": "short-input", + "value": null + }, + "webhookSecret": { + "id": "webhookSecret", + "type": "short-input", + "value": "{{GITHUB_WEBHOOK_SECRET}}" + }, + "enforce_admins": { + "id": "enforce_admins", + "type": "dropdown", + "value": null + }, + "milestone_sort": { + "id": "milestone_sort", + "type": "dropdown", + "value": null + }, + "project_number": { + "id": "project_number", + "type": "short-input", + "value": null + }, + "project_public": { + "id": "project_public", + "type": "dropdown", + "value": null + }, + "team_reviewers": { + "id": "team_reviewers", + "type": "short-input", + "value": null + }, + "milestone_state": { + "id": "milestone_state", + "type": "dropdown", + "value": null + }, + "milestone_title": { + "id": "milestone_title", + "type": "short-input", + "value": null + }, + "sslVerification": { + "id": "sslVerification", + "type": "short-input", + "value": "enabled" + }, + "milestone_number": { + "id": "milestone_number", + "type": "short-input", + "value": null + }, + "reaction_content": { + "id": "reaction_content", + "type": "dropdown", + "value": null + }, + "selectedTriggerId": { + "id": "selectedTriggerId", + "type": "short-input", + "value": "github_release_published" + }, + "default_branch_only": { + "id": "default_branch_only", + "type": "dropdown", + "value": null + }, + "milestone_description": { + "id": "milestone_description", + "type": "long-input", + "value": null + }, + "required_status_checks": { + "id": "required_status_checks", + "type": "short-input", + "value": null + }, + "samplePayload_github_push": { + "id": "samplePayload_github_push", + "type": "code", + "value": null + }, + "required_pull_request_reviews": { + "id": "required_pull_request_reviews", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_push": { + "id": "webhookUrlDisplay_github_push", + "type": "short-input", + "value": null + }, + "samplePayload_github_pr_closed": { + "id": "samplePayload_github_pr_closed", + "type": "code", + "value": null + }, + "samplePayload_github_pr_merged": { + "id": "samplePayload_github_pr_merged", + "type": "code", + "value": null + }, + "samplePayload_github_pr_opened": { + "id": "samplePayload_github_pr_opened", + "type": "code", + "value": null + }, + "samplePayload_github_pr_comment": { + "id": "samplePayload_github_pr_comment", + "type": "code", + "value": null + }, + "triggerInstructions_github_push": { + "id": "triggerInstructions_github_push", + "type": "text", + "value": null + }, + "samplePayload_github_pr_reviewed": { + "id": "samplePayload_github_pr_reviewed", + "type": "code", + "value": null + }, + "samplePayload_github_issue_closed": { + "id": "samplePayload_github_issue_closed", + "type": "code", + "value": null + }, + "samplePayload_github_issue_opened": { + "id": "samplePayload_github_issue_opened", + "type": "code", + "value": null + }, + "samplePayload_github_workflow_run": { + "id": "samplePayload_github_workflow_run", + "type": "code", + "value": null + }, + "samplePayload_github_issue_comment": { + "id": "samplePayload_github_issue_comment", + "type": "code", + "value": null + }, + "webhookUrlDisplay_github_pr_closed": { + "id": "webhookUrlDisplay_github_pr_closed", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_pr_merged": { + "id": "webhookUrlDisplay_github_pr_merged", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_pr_opened": { + "id": "webhookUrlDisplay_github_pr_opened", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_pr_comment": { + "id": "webhookUrlDisplay_github_pr_comment", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_pr_closed": { + "id": "triggerInstructions_github_pr_closed", + "type": "text", + "value": null + }, + "triggerInstructions_github_pr_merged": { + "id": "triggerInstructions_github_pr_merged", + "type": "text", + "value": null + }, + "triggerInstructions_github_pr_opened": { + "id": "triggerInstructions_github_pr_opened", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_pr_reviewed": { + "id": "webhookUrlDisplay_github_pr_reviewed", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_pr_comment": { + "id": "triggerInstructions_github_pr_comment", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_issue_closed": { + "id": "webhookUrlDisplay_github_issue_closed", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_issue_opened": { + "id": "webhookUrlDisplay_github_issue_opened", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_workflow_run": { + "id": "webhookUrlDisplay_github_workflow_run", + "type": "short-input", + "value": null + }, + "samplePayload_github_release_published": { + "id": "samplePayload_github_release_published", + "type": "code", + "value": null + }, + "triggerInstructions_github_pr_reviewed": { + "id": "triggerInstructions_github_pr_reviewed", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_issue_comment": { + "id": "webhookUrlDisplay_github_issue_comment", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_issue_closed": { + "id": "triggerInstructions_github_issue_closed", + "type": "text", + "value": null + }, + "triggerInstructions_github_issue_opened": { + "id": "triggerInstructions_github_issue_opened", + "type": "text", + "value": null + }, + "triggerInstructions_github_workflow_run": { + "id": "triggerInstructions_github_workflow_run", + "type": "text", + "value": null + }, + "triggerInstructions_github_issue_comment": { + "id": "triggerInstructions_github_issue_comment", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_release_published": { + "id": "webhookUrlDisplay_github_release_published", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_release_published": { + "id": "triggerInstructions_github_release_published", + "type": "text", + "value": null + } + }, + "outputs": { + "action": { + "type": "string", + "description": "Action performed (published, unpublished, created, edited, deleted, prereleased, released)" + }, + "sender": { + "id": { + "type": "number", + "description": "User ID" + }, + "url": { + "type": "string", + "description": "User API URL" + }, + "login": { + "type": "string", + "description": "Username" + }, + "node_id": { + "type": "string", + "description": "User node ID" + }, + "html_url": { + "type": "string", + "description": "Profile URL" + }, + "gists_url": { + "type": "string", + "description": "Gists API URL" + }, + "repos_url": { + "type": "string", + "description": "Repositories API URL" + }, + "user_type": { + "type": "string", + "description": "User type (User, Bot, Organization)" + }, + "avatar_url": { + "type": "string", + "description": "Avatar URL" + }, + "events_url": { + "type": "string", + "description": "Events API URL" + }, + "site_admin": { + "type": "boolean", + "description": "Whether user is a site administrator" + }, + "gravatar_id": { + "type": "string", + "description": "Gravatar ID" + }, + "starred_url": { + "type": "string", + "description": "Starred repositories API URL" + }, + "followers_url": { + "type": "string", + "description": "Followers API URL" + }, + "following_url": { + "type": "string", + "description": "Following API URL" + }, + "organizations_url": { + "type": "string", + "description": "Organizations API URL" + }, + "subscriptions_url": { + "type": "string", + "description": "Subscriptions API URL" + }, + "received_events_url": { + "type": "string", + "description": "Received events API URL" + } + }, + "release": { + "id": { + "type": "number", + "description": "Release ID" + }, + "url": { + "type": "string", + "description": "Release API URL" + }, + "body": { + "type": "string", + "description": "Release description/notes in markdown format" + }, + "name": { + "type": "string", + "description": "Release name/title" + }, + "draft": { + "type": "boolean", + "description": "Whether the release is a draft" + }, + "assets": { + "type": "array", + "description": "Array of release asset objects with download URLs" + }, + "author": { + "id": { + "type": "number", + "description": "User ID" + }, + "url": { + "type": "string", + "description": "User API URL" + }, + "login": { + "type": "string", + "description": "Username" + }, + "node_id": { + "type": "string", + "description": "User node ID" + }, + "html_url": { + "type": "string", + "description": "Profile URL" + }, + "gists_url": { + "type": "string", + "description": "Gists API URL" + }, + "repos_url": { + "type": "string", + "description": "Repositories API URL" + }, + "user_type": { + "type": "string", + "description": "User type (User, Bot, Organization)" + }, + "avatar_url": { + "type": "string", + "description": "Avatar URL" + }, + "events_url": { + "type": "string", + "description": "Events API URL" + }, + "site_admin": { + "type": "boolean", + "description": "Whether user is a site administrator" + }, + "gravatar_id": { + "type": "string", + "description": "Gravatar ID" + }, + "starred_url": { + "type": "string", + "description": "Starred repositories API URL" + }, + "followers_url": { + "type": "string", + "description": "Followers API URL" + }, + "following_url": { + "type": "string", + "description": "Following API URL" + }, + "organizations_url": { + "type": "string", + "description": "Organizations API URL" + }, + "subscriptions_url": { + "type": "string", + "description": "Subscriptions API URL" + }, + "received_events_url": { + "type": "string", + "description": "Received events API URL" + } + }, + "node_id": { + "type": "string", + "description": "Release node ID" + }, + "html_url": { + "type": "string", + "description": "Release HTML URL" + }, + "tag_name": { + "type": "string", + "description": "Git tag name for the release" + }, + "assets_url": { + "type": "string", + "description": "Release assets API URL" + }, + "created_at": { + "type": "string", + "description": "Release creation timestamp" + }, + "prerelease": { + "type": "boolean", + "description": "Whether the release is a pre-release" + }, + "upload_url": { + "type": "string", + "description": "URL for uploading release assets" + }, + "tarball_url": { + "type": "string", + "description": "Source code tarball download URL" + }, + "zipball_url": { + "type": "string", + "description": "Source code zipball download URL" + }, + "published_at": { + "type": "string", + "description": "Release publication timestamp" + }, + "discussion_url": { + "type": "string", + "description": "Discussion URL if available" + }, + "target_commitish": { + "type": "string", + "description": "Target branch or commit SHA" + } + }, + "event_type": { + "type": "string", + "description": "GitHub event type from X-GitHub-Event header (e.g., release)" + }, + "repository": { + "id": { + "type": "number", + "description": "Repository ID" + }, + "url": { + "type": "string", + "description": "Repository API URL" + }, + "fork": { + "type": "boolean", + "description": "Whether the repository is a fork" + }, + "name": { + "type": "string", + "description": "Repository name" + }, + "size": { + "type": "number", + "description": "Repository size in KB" + }, + "forks": { + "type": "number", + "description": "Number of forks" + }, + "owner": { + "id": { + "type": "number", + "description": "Owner ID" + }, + "url": { + "type": "string", + "description": "Owner API URL" + }, + "login": { + "type": "string", + "description": "Owner username" + }, + "node_id": { + "type": "string", + "description": "Owner node ID" + }, + "html_url": { + "type": "string", + "description": "Owner profile URL" + }, + "gists_url": { + "type": "string", + "description": "Gists API URL" + }, + "repos_url": { + "type": "string", + "description": "Repositories API URL" + }, + "avatar_url": { + "type": "string", + "description": "Owner avatar URL" + }, + "events_url": { + "type": "string", + "description": "Events API URL" + }, + "owner_type": { + "type": "string", + "description": "Owner type (User, Organization)" + }, + "site_admin": { + "type": "boolean", + "description": "Whether owner is a site administrator" + }, + "gravatar_id": { + "type": "string", + "description": "Owner gravatar ID" + }, + "starred_url": { + "type": "string", + "description": "Starred repositories API URL" + }, + "followers_url": { + "type": "string", + "description": "Followers API URL" + }, + "following_url": { + "type": "string", + "description": "Following API URL" + }, + "organizations_url": { + "type": "string", + "description": "Organizations API URL" + }, + "subscriptions_url": { + "type": "string", + "description": "Subscriptions API URL" + }, + "received_events_url": { + "type": "string", + "description": "Received events API URL" + } + }, + "topics": { + "type": "array", + "description": "Array of repository topics" + }, + "license": { + "key": { + "type": "string", + "description": "License key" + }, + "url": { + "type": "string", + "description": "License API URL" + }, + "name": { + "type": "string", + "description": "License name" + }, + "node_id": { + "type": "string", + "description": "License node ID" + }, + "spdx_id": { + "type": "string", + "description": "SPDX license identifier" + } + }, + "node_id": { + "type": "string", + "description": "Repository node ID" + }, + "private": { + "type": "boolean", + "description": "Whether the repository is private" + }, + "archived": { + "type": "boolean", + "description": "Whether the repository is archived" + }, + "disabled": { + "type": "boolean", + "description": "Whether the repository is disabled" + }, + "has_wiki": { + "type": "boolean", + "description": "Whether wiki is enabled" + }, + "homepage": { + "type": "string", + "description": "Repository homepage URL" + }, + "html_url": { + "type": "string", + "description": "Repository HTML URL" + }, + "keys_url": { + "type": "string", + "description": "Keys API URL" + }, + "language": { + "type": "string", + "description": "Primary programming language" + }, + "tags_url": { + "type": "string", + "description": "Tags API URL" + }, + "watchers": { + "type": "number", + "description": "Number of watchers" + }, + "blobs_url": { + "type": "string", + "description": "Blobs API URL" + }, + "forks_url": { + "type": "string", + "description": "Forks API URL" + }, + "full_name": { + "type": "string", + "description": "Repository full name (owner/repo)" + }, + "has_pages": { + "type": "boolean", + "description": "Whether GitHub Pages is enabled" + }, + "hooks_url": { + "type": "string", + "description": "Hooks API URL" + }, + "pulls_url": { + "type": "string", + "description": "Pull requests API URL" + }, + "pushed_at": { + "type": "string", + "description": "Repository last push timestamp" + }, + "teams_url": { + "type": "string", + "description": "Teams API URL" + }, + "trees_url": { + "type": "string", + "description": "Trees API URL" + }, + "created_at": { + "type": "string", + "description": "Repository creation timestamp" + }, + "events_url": { + "type": "string", + "description": "Events API URL" + }, + "has_issues": { + "type": "boolean", + "description": "Whether issues are enabled" + }, + "issues_url": { + "type": "string", + "description": "Issues API URL" + }, + "labels_url": { + "type": "string", + "description": "Labels API URL" + }, + "merges_url": { + "type": "string", + "description": "Merges API URL" + }, + "mirror_url": { + "type": "string", + "description": "Mirror URL if repository is a mirror" + }, + "updated_at": { + "type": "string", + "description": "Repository last update timestamp" + }, + "visibility": { + "type": "string", + "description": "Repository visibility (public, private, internal)" + }, + "archive_url": { + "type": "string", + "description": "Archive API URL" + }, + "commits_url": { + "type": "string", + "description": "Commits API URL" + }, + "compare_url": { + "type": "string", + "description": "Compare API URL" + }, + "forks_count": { + "type": "number", + "description": "Number of forks" + }, + "is_template": { + "type": "boolean", + "description": "Whether repository is a template" + }, + "open_issues": { + "type": "number", + "description": "Number of open issues" + }, + "branches_url": { + "type": "string", + "description": "Branches API URL" + }, + "comments_url": { + "type": "string", + "description": "Comments API URL" + }, + "contents_url": { + "type": "string", + "description": "Contents API URL" + }, + "git_refs_url": { + "type": "string", + "description": "Git refs API URL" + }, + "git_tags_url": { + "type": "string", + "description": "Git tags API URL" + }, + "has_projects": { + "type": "boolean", + "description": "Whether projects are enabled" + }, + "releases_url": { + "type": "string", + "description": "Releases API URL" + }, + "statuses_url": { + "type": "string", + "description": "Statuses API URL" + }, + "allow_forking": { + "type": "boolean", + "description": "Whether forking is allowed" + }, + "assignees_url": { + "type": "string", + "description": "Assignees API URL" + }, + "downloads_url": { + "type": "string", + "description": "Downloads API URL" + }, + "has_downloads": { + "type": "boolean", + "description": "Whether downloads are enabled" + }, + "languages_url": { + "type": "string", + "description": "Languages API URL" + }, + "default_branch": { + "type": "string", + "description": "Default branch name" + }, + "milestones_url": { + "type": "string", + "description": "Milestones API URL" + }, + "stargazers_url": { + "type": "string", + "description": "Stargazers API URL" + }, + "watchers_count": { + "type": "number", + "description": "Number of watchers" + }, + "deployments_url": { + "type": "string", + "description": "Deployments API URL" + }, + "git_commits_url": { + "type": "string", + "description": "Git commits API URL" + }, + "subscribers_url": { + "type": "string", + "description": "Subscribers API URL" + }, + "contributors_url": { + "type": "string", + "description": "Contributors API URL" + }, + "issue_events_url": { + "type": "string", + "description": "Issue events API URL" + }, + "repo_description": { + "type": "string", + "description": "Repository description" + }, + "stargazers_count": { + "type": "number", + "description": "Number of stars" + }, + "subscription_url": { + "type": "string", + "description": "Subscription API URL" + }, + "collaborators_url": { + "type": "string", + "description": "Collaborators API URL" + }, + "issue_comment_url": { + "type": "string", + "description": "Issue comment API URL" + }, + "notifications_url": { + "type": "string", + "description": "Notifications API URL" + }, + "open_issues_count": { + "type": "number", + "description": "Number of open issues" + } + } + }, + "data": {}, + "locked": false + }, + "4091cfe9-ca13-456d-a041-e543426f2f61": { + "id": "4091cfe9-ca13-456d-a041-e543426f2f61", + "type": "agent", + "name": "summarizer", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "claude-sonnet-4-5" + }, + "tools": { + "id": "tools", + "type": "tool-input", + "value": [] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Summarize changes from this GitHub release" + }, + { + "role": "user", + "content": "Here is the release information:\n\nRelease Name: \nTag: \nRepository: \n\nRelease Notes:\n\n\nPlease provide a concise summary of what changed in this release." + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "slider", + "value": null + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic" + } + }, + "locked": false + }, + "41946933-796d-4323-8d77-1eb93ac96e54": { + "id": "41946933-796d-4323-8d77-1eb93ac96e54", + "type": "note", + "name": "Slack Setup", + "position": { + "x": 1135.1947032073822, + "y": -52.60391712035047 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Slack Account and select Channel \n**Permissions needed:** `chat:write` to post messages" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "3da20fec-f985-4add-95a5-04a7a92f4c9f": { + "id": "3da20fec-f985-4add-95a5-04a7a92f4c9f", + "type": "note", + "name": "GitHub Trigger Setup", + "position": { + "x": 136.62026670610456, + "y": -353.4306899570966 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "**Required:**\n- GitHub OAuth connection\n- `GITHUB_WEBHOOK_SECRET` environment variable\n\n**Setup Steps:**\n1. Connect GitHub OAuth\n2. Generate a webhook secret: `openssl rand -hex 32`\n3. Set `GITHUB_WEBHOOK_SECRET` environment variable with the generated secret\n4. In your GitHub repo, configure webhook URL pointing to this workflow\n5. Use the same secret in GitHub webhook settings" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "bab8b677-b2aa-47be-86d6-d87a5572b390": { + "id": "bab8b677-b2aa-47be-86d6-d87a5572b390", + "type": "slack", + "name": "slacknotify", + "position": { + "x": 1150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 346, + "subBlocks": { + "text": { + "id": "text", + "type": "short-input", + "value": "*New Release: * ()\n\n\n\n" + }, + "files": { + "id": "files", + "type": "short-input", + "value": null + }, + "limit": { + "id": "limit", + "type": "short-input", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "blocks": { + "id": "blocks", + "type": "code", + "value": null + }, + "fileId": { + "id": "fileId", + "type": "short-input", + "value": null + }, + "oldest": { + "id": "oldest", + "type": "short-input", + "value": null + }, + "userId": { + "id": "userId", + "type": "user-selector", + "value": null + }, + "viewId": { + "id": "viewId", + "type": "short-input", + "value": null + }, + "channel": { + "id": "channel", + "type": "channel-selector", + "value": null + }, + "content": { + "id": "content", + "type": "long-input", + "value": null + }, + "botToken": { + "id": "botToken", + "type": "short-input", + "value": null + }, + "dmUserId": { + "id": "dmUserId", + "type": "user-selector", + "value": null + }, + "threadTs": { + "id": "threadTs", + "type": "short-input", + "value": null + }, + "viewHash": { + "id": "viewHash", + "type": "short-input", + "value": null + }, + "emojiName": { + "id": "emojiName", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "send" + }, + "sectionId": { + "id": "sectionId", + "type": "short-input", + "value": null + }, + "userLimit": { + "id": "userLimit", + "type": "short-input", + "value": null + }, + "authMethod": { + "id": "authMethod", + "type": "short-input", + "value": "oauth" + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "updateText": { + "id": "updateText", + "type": "long-input", + "value": null + }, + "canvasTitle": { + "id": "canvasTitle", + "type": "short-input", + "value": null + }, + "memberLimit": { + "id": "memberLimit", + "type": "short-input", + "value": null + }, + "threadLimit": { + "id": "threadLimit", + "type": "short-input", + "value": null + }, + "viewPayload": { + "id": "viewPayload", + "type": "code", + "value": null + }, + "channelLimit": { + "id": "channelLimit", + "type": "short-input", + "value": null + }, + "editCanvasId": { + "id": "editCanvasId", + "type": "short-input", + "value": null + }, + "includeFiles": { + "id": "includeFiles", + "type": "switch", + "value": null + }, + "manualUserId": { + "id": "manualUserId", + "type": "short-input", + "value": null + }, + "canvasContent": { + "id": "canvasContent", + "type": "long-input", + "value": null + }, + "ephemeralUser": { + "id": "ephemeralUser", + "type": "user-selector", + "value": null + }, + "manualChannel": { + "id": "manualChannel", + "type": "short-input", + "value": "" + }, + "messageFormat": { + "id": "messageFormat", + "type": "short-input", + "value": "text" + }, + "publishUserId": { + "id": "publishUserId", + "type": "user-selector", + "value": null + }, + "signingSecret": { + "id": "signingSecret", + "type": "short-input", + "value": null + }, + "viewTriggerId": { + "id": "viewTriggerId", + "type": "short-input", + "value": null + }, + "includeDeleted": { + "id": "includeDeleted", + "type": "dropdown", + "value": null + }, + "includePrivate": { + "id": "includePrivate", + "type": "dropdown", + "value": null + }, + "manualDmUserId": { + "id": "manualDmUserId", + "type": "short-input", + "value": null + }, + "presenceUserId": { + "id": "presenceUserId", + "type": "user-selector", + "value": null + }, + "viewExternalId": { + "id": "viewExternalId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "canvasOperation": { + "id": "canvasOperation", + "type": "dropdown", + "value": null + }, + "deleteTimestamp": { + "id": "deleteTimestamp", + "type": "short-input", + "value": null + }, + "destinationType": { + "id": "destinationType", + "type": "short-input", + "value": "channel" + }, + "updateTimestamp": { + "id": "updateTimestamp", + "type": "short-input", + "value": null + }, + "downloadFileName": { + "id": "downloadFileName", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "includeNumMembers": { + "id": "includeNumMembers", + "type": "dropdown", + "value": null + }, + "reactionTimestamp": { + "id": "reactionTimestamp", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay": { + "id": "webhookUrlDisplay", + "type": "short-input", + "value": null + }, + "channelCanvasTitle": { + "id": "channelCanvasTitle", + "type": "short-input", + "value": null + }, + "getThreadTimestamp": { + "id": "getThreadTimestamp", + "type": "short-input", + "value": null + }, + "getMessageTimestamp": { + "id": "getMessageTimestamp", + "type": "short-input", + "value": null + }, + "manualEphemeralUser": { + "id": "manualEphemeralUser", + "type": "short-input", + "value": null + }, + "manualPublishUserId": { + "id": "manualPublishUserId", + "type": "short-input", + "value": null + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "channelCanvasContent": { + "id": "channelCanvasContent", + "type": "long-input", + "value": null + }, + "manualPresenceUserId": { + "id": "manualPresenceUserId", + "type": "short-input", + "value": null + }, + "viewInteractivityPointer": { + "id": "viewInteractivityPointer", + "type": "short-input", + "value": null + }, + "samplePayload_slack_webhook": { + "id": "samplePayload_slack_webhook", + "type": "code", + "value": null + } + }, + "outputs": { + "ts": { + "type": "string", + "description": "Message timestamp" + }, + "files": { + "type": "file[]", + "description": "Files attached to the message" + }, + "channel": { + "type": "string", + "description": "Channel ID where message was sent" + }, + "message": { + "type": "object", + "properties": { + "ts": { + "type": "string", + "description": "Message timestamp (unique identifier)" + }, + "team": { + "type": "string", + "optional": true, + "description": "Team/workspace ID" + }, + "text": { + "type": "string", + "description": "Message text content" + }, + "type": { + "type": "string", + "description": "Message type (usually \"message\")" + }, + "user": { + "type": "string", + "optional": true, + "description": "User ID who sent the message" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique file identifier" + }, + "mode": { + "type": "string", + "optional": true, + "description": "File mode (hosted, external, etc.)" + }, + "name": { + "type": "string", + "description": "File name" + }, + "size": { + "type": "number", + "description": "File size in bytes" + }, + "mimetype": { + "type": "string", + "description": "MIME type of the file" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent link to the file" + }, + "url_private": { + "type": "string", + "optional": true, + "description": "Private download URL (requires auth)" + } + } + }, + "description": "Files attached to the message" + }, + "blocks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Block type (section, divider, image, actions, etc.)" + }, + "block_id": { + "type": "string", + "optional": true, + "description": "Unique block identifier" + } + } + }, + "description": "Block Kit blocks in the message" + }, + "bot_id": { + "type": "string", + "optional": true, + "description": "Bot ID if sent by a bot" + }, + "edited": { + "type": "object", + "optional": true, + "properties": { + "ts": { + "type": "string", + "description": "Timestamp of the edit" + }, + "user": { + "type": "string", + "description": "User ID who edited the message" + } + }, + "description": "Edit information if message was edited" + }, + "channel": { + "type": "string", + "optional": true, + "description": "Channel ID" + }, + "subtype": { + "type": "string", + "optional": true, + "description": "Message subtype (bot_message, file_share, etc.)" + }, + "username": { + "type": "string", + "optional": true, + "description": "Display username" + }, + "last_read": { + "type": "string", + "optional": true, + "description": "Timestamp of last read message" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent URL to the message" + }, + "pinned_to": { + "type": "array", + "items": { + "type": "string", + "description": "Channel ID" + }, + "optional": true, + "description": "Channel IDs where message is pinned" + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Emoji name (without colons)" + }, + "count": { + "type": "number", + "description": "Number of times this reaction was added" + }, + "users": { + "type": "array", + "items": { + "type": "string", + "description": "User ID" + }, + "description": "Array of user IDs who reacted" + } + } + }, + "description": "Reactions on this message" + }, + "thread_ts": { + "type": "string", + "optional": true, + "description": "Parent message timestamp (for threaded replies)" + }, + "is_starred": { + "type": "boolean", + "optional": true, + "description": "Whether message is starred by user" + }, + "subscribed": { + "type": "boolean", + "optional": true, + "description": "Whether user is subscribed to thread" + }, + "attachments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "optional": true, + "description": "Attachment ID" + }, + "ts": { + "type": "string", + "optional": true, + "description": "Timestamp shown in footer" + }, + "text": { + "type": "string", + "optional": true, + "description": "Main attachment text" + }, + "color": { + "type": "string", + "optional": true, + "description": "Color bar hex code or preset" + }, + "title": { + "type": "string", + "optional": true, + "description": "Attachment title" + }, + "footer": { + "type": "string", + "optional": true, + "description": "Footer text" + }, + "pretext": { + "type": "string", + "optional": true, + "description": "Text shown before attachment" + }, + "fallback": { + "type": "string", + "optional": true, + "description": "Plain text summary" + }, + "image_url": { + "type": "string", + "optional": true, + "description": "Image URL" + }, + "thumb_url": { + "type": "string", + "optional": true, + "description": "Thumbnail URL" + }, + "title_link": { + "type": "string", + "optional": true, + "description": "Title link URL" + }, + "author_icon": { + "type": "string", + "optional": true, + "description": "Author icon URL" + }, + "author_link": { + "type": "string", + "optional": true, + "description": "Author link URL" + }, + "author_name": { + "type": "string", + "optional": true, + "description": "Author display name" + }, + "footer_icon": { + "type": "string", + "optional": true, + "description": "Footer icon URL" + } + } + }, + "description": "Legacy attachments on the message" + }, + "reply_count": { + "type": "number", + "optional": true, + "description": "Total number of replies in thread" + }, + "latest_reply": { + "type": "string", + "optional": true, + "description": "Timestamp of most recent reply" + }, + "unread_count": { + "type": "number", + "optional": true, + "description": "Number of unread messages in thread" + }, + "parent_user_id": { + "type": "string", + "optional": true, + "description": "User ID of thread parent message author" + }, + "reply_users_count": { + "type": "number", + "optional": true, + "description": "Number of unique users who replied" + } + }, + "description": "Complete message object with all properties returned by Slack" + }, + "fileCount": { + "type": "number", + "description": "Number of files uploaded (when files are attached)" + } + }, + "data": { + "canonicalModes": { + "files": "basic", + "userId": "basic", + "channel": "advanced", + "dmUserId": "basic", + "ephemeralUser": "basic", + "publishUserId": "basic", + "presenceUserId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + } + }, + "edges": [ + { + "id": "f67e253e-651d-4393-8d87-1cfd401f3298", + "source": "e398e133-7e54-4e7e-93da-d689e6e24c62", + "target": "4091cfe9-ca13-456d-a041-e543426f2f61", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "cc1d5f2b-f1db-4349-8be3-1a46082bb1c5", + "source": "4091cfe9-ca13-456d-a041-e543426f2f61", + "target": "bab8b677-b2aa-47be-86d6-d87a5572b390", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "gh-release-agent", + "description": "New workflow", + "color": "#0a6fb8", + "exportedAt": "2026-03-09T21:40:19.013Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/knowledge-base-qa-e9dcd9f1-18bd-4163-b5d8-3e239a297526.json b/apps/sim/public/landing-page-templates/knowledge-base-qa-e9dcd9f1-18bd-4163-b5d8-3e239a297526.json new file mode 100644 index 0000000000..d1114c0203 --- /dev/null +++ b/apps/sim/public/landing-page-templates/knowledge-base-qa-e9dcd9f1-18bd-4163-b5d8-3e239a297526.json @@ -0,0 +1,330 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.010Z", + "state": { + "blocks": { + "9d182a31-8710-4651-8a85-cd432e7fecf7": { + "id": "9d182a31-8710-4651-8a85-cd432e7fecf7", + "type": "start_trigger", + "name": "Start", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "inputFormat": { + "id": "inputFormat", + "type": "input-format", + "value": [ + { + "id": "2b3539b5-b5c4-4d51-b570-4d90f6056f14", + "name": "input", + "type": "string", + "value": "", + "collapsed": false + }, + { + "id": "aad8e667-b17d-435e-85a2-974a6bb10bb7", + "name": "conversationId", + "type": "string", + "value": "", + "collapsed": false + }, + { + "id": "8658c06a-d84c-4ee3-bc5c-47b98f5b9d67", + "name": "files", + "type": "file[]", + "value": "", + "collapsed": false + } + ] + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "User uploaded files" + }, + "input": { + "type": "string", + "description": "Primary user input or message" + }, + "conversationId": { + "type": "string", + "description": "Conversation thread identifier" + } + }, + "data": {}, + "locked": false + }, + "276feb2f-c809-4344-aee3-1ff0505e0459": { + "id": "276feb2f-c809-4344-aee3-1ff0505e0459", + "type": "agent", + "name": "Agent", + "position": { + "x": 580, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "gemini-2.5-pro" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "type": "knowledge", + "title": "Knowledge Base", + "params": { + "topK": "5", + "knowledgeBaseId": "placeholder-kb-id" + }, + "toolId": "knowledge_search", + "operation": "search", + "isExpanded": true, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Answer using knowledge base" + }, + { + "role": "user", + "content": "" + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "slider", + "value": null + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic" + } + }, + "locked": false + }, + "d0eaf8bd-d234-4c52-a62a-d67d17ba617f": { + "id": "d0eaf8bd-d234-4c52-a62a-d67d17ba617f", + "type": "note", + "name": "Agent Setup", + "position": { + "x": 573.5022676225361, + "y": -72.17147114704349 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Create a Knowledge Base in the Knowledge base tab and upload relevant documents \n- Select Knowledge Base in the tool here " + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "3b06e171-145c-4118-b5e9-5362480dbc59": { + "id": "3b06e171-145c-4118-b5e9-5362480dbc59", + "type": "note", + "name": "Workflow Setup", + "position": { + "x": 153.7481407356546, + "y": -38.47285321350124 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Deploy as Chat using the button on the top right\n- Select Chat Output as Agent's Content \n" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "fcaefdd3-a4cc-4f08-9218-f5fbb1d90675", + "source": "9d182a31-8710-4651-8a85-cd432e7fecf7", + "target": "276feb2f-c809-4344-aee3-1ff0505e0459", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "knowledge-base-qa", + "description": "New workflow", + "color": "#b61717", + "exportedAt": "2026-03-09T21:40:19.009Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/lead-enricher-6ed8dede-1df6-4962-95f4-887abf524b38.json b/apps/sim/public/landing-page-templates/lead-enricher-6ed8dede-1df6-4962-95f4-887abf524b38.json new file mode 100644 index 0000000000..aefe4e9aea --- /dev/null +++ b/apps/sim/public/landing-page-templates/lead-enricher-6ed8dede-1df6-4962-95f4-887abf524b38.json @@ -0,0 +1,520 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.012Z", + "state": { + "blocks": { + "e146db47-fd1b-4823-8af4-eb3e078465c3": { + "id": "e146db47-fd1b-4823-8af4-eb3e078465c3", + "type": "start_trigger", + "name": "Start", + "position": { + "x": 220, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "inputFormat": { + "id": "inputFormat", + "type": "input-format", + "value": [ + { + "id": "40786453-e79e-4883-8ea2-b403ecbd617d", + "name": "Email", + "type": "string", + "value": "lead@company.com", + "collapsed": false + } + ] + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "User uploaded files" + }, + "input": { + "type": "string", + "description": "Primary user input or message" + }, + "conversationId": { + "type": "string", + "description": "Conversation thread identifier" + } + }, + "data": {}, + "locked": false + }, + "7fcbdc64-a811-43dc-a6ef-ff9d3d66fe82": { + "id": "7fcbdc64-a811-43dc-a6ef-ff9d3d66fe82", + "type": "agent", + "name": "Agent", + "position": { + "x": 180, + "y": 100 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "type": "linkedin", + "params": { + "manualCredential": "" + }, + "operation": "get_profile", + "isExpanded": true, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "short-input", + "value": [ + { + "role": "system", + "content": "Enrich lead data by looking up LinkedIn profile information for the given email address. Return structured data including name, title, company, location, and professional summary." + }, + { + "role": "user", + "content": "" + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "short-input", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "slider", + "value": null + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": "{\n \"name\": \"enriched_lead_row\",\n \"schema\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"row\": {\n \"description\": \"A single row of enriched lead data as a 2D array [[email, name, title, company, location]]\",\n \"items\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\"\n },\n \"maxItems\": 1,\n \"minItems\": 1,\n \"type\": \"array\"\n }\n },\n \"required\": [\n \"row\"\n ],\n \"type\": \"object\"\n },\n \"strict\": true\n}" + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "extent": "parent", + "parentId": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "canonicalModes": { + "oauthCredential": "basic", + "linkedin:oauthCredential": "basic" + } + }, + "locked": false + }, + "567b9f45-eab6-4f34-8e0b-9342dae37717": { + "id": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "type": "parallel", + "name": "dataParallel", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "collection": { + "id": "collection", + "type": "short-input", + "value": "" + }, + "parallelType": { + "id": "parallelType", + "type": "short-input", + "value": "collection" + } + }, + "outputs": {}, + "data": { + "id": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "type": "subflowNode", + "count": 5, + "nodes": ["7fcbdc64-a811-43dc-a6ef-ff9d3d66fe82", "9fdad60a-56f1-45ba-a1b5-ba4fcdee0988"], + "width": 953, + "height": 559, + "collection": "", + "distribution": "", + "parallelType": "collection" + }, + "locked": false + }, + "9fdad60a-56f1-45ba-a1b5-ba4fcdee0988": { + "id": "9fdad60a-56f1-45ba-a1b5-ba4fcdee0988", + "type": "google_sheets_v2", + "name": "GoogleSheets", + "position": { + "x": 583, + "y": 100 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "ranges": { + "id": "ranges", + "type": "long-input", + "value": null + }, + "values": { + "id": "values", + "type": "short-input", + "value": "" + }, + "sheetId": { + "id": "sheetId", + "type": "short-input", + "value": null + }, + "batchData": { + "id": "batchData", + "type": "long-input", + "value": null + }, + "cellRange": { + "id": "cellRange", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "append" + }, + "sheetName": { + "id": "sheetName", + "type": "sheet-selector", + "value": null + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "filterValue": { + "id": "filterValue", + "type": "short-input", + "value": null + }, + "sheetTitles": { + "id": "sheetTitles", + "type": "short-input", + "value": null + }, + "filterColumn": { + "id": "filterColumn", + "type": "short-input", + "value": null + }, + "spreadsheetId": { + "id": "spreadsheetId", + "type": "file-selector", + "value": null + }, + "filterMatchType": { + "id": "filterMatchType", + "type": "dropdown", + "value": null + }, + "manualSheetName": { + "id": "manualSheetName", + "type": "short-input", + "value": "" + }, + "insertDataOption": { + "id": "insertDataOption", + "type": "short-input", + "value": "INSERT_ROWS" + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": "" + }, + "valueInputOption": { + "id": "valueInputOption", + "type": "dropdown", + "value": null + }, + "manualSpreadsheetId": { + "id": "manualSpreadsheetId", + "type": "short-input", + "value": "" + }, + "destinationSpreadsheetId": { + "id": "destinationSpreadsheetId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "metadata": { + "type": "json", + "properties": { + "spreadsheetId": { + "type": "string", + "description": "Google Sheets spreadsheet ID" + }, + "spreadsheetUrl": { + "type": "string", + "description": "Spreadsheet URL" + } + }, + "description": "Spreadsheet metadata including ID and URL" + }, + "tableRange": { + "type": "string", + "description": "Range of the table where data was appended" + }, + "updatedRows": { + "type": "number", + "description": "Number of rows updated" + }, + "updatedCells": { + "type": "number", + "description": "Number of cells updated" + }, + "updatedRange": { + "type": "string", + "description": "Range of cells that were updated" + }, + "updatedColumns": { + "type": "number", + "description": "Number of columns updated" + } + }, + "data": { + "extent": "parent", + "parentId": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "canonicalModes": { + "sheetName": "advanced", + "spreadsheetId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "96abf661-31f3-4fd3-9e7c-6cf5ac178fc0": { + "id": "96abf661-31f3-4fd3-9e7c-6cf5ac178fc0", + "type": "note", + "name": "Agent Setup", + "position": { + "x": 982.9212280313601, + "y": -20.17741919706892 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Select a Model of your Choice \n- Connect Linkedin Account \n- Connect Google Sheets Account" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "42aba092-b19a-49a8-b8d0-7e03ad70c2d4", + "source": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "target": "7fcbdc64-a811-43dc-a6ef-ff9d3d66fe82", + "sourceHandle": "parallel-start-source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "e67a21d1-93b5-4bb7-993d-06160802abc8", + "source": "7fcbdc64-a811-43dc-a6ef-ff9d3d66fe82", + "target": "9fdad60a-56f1-45ba-a1b5-ba4fcdee0988", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "780e83b8-65ad-4561-950c-06b89d2a82f1", + "source": "e146db47-fd1b-4823-8af4-eb3e078465c3", + "target": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": { + "567b9f45-eab6-4f34-8e0b-9342dae37717": { + "id": "567b9f45-eab6-4f34-8e0b-9342dae37717", + "nodes": ["7fcbdc64-a811-43dc-a6ef-ff9d3d66fe82", "9fdad60a-56f1-45ba-a1b5-ba4fcdee0988"], + "distribution": "", + "count": 5, + "parallelType": "collection", + "enabled": true + } + }, + "metadata": { + "name": "lead-enricher", + "description": "New workflow", + "color": "#1486d1", + "exportedAt": "2026-03-09T21:40:19.011Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/meeting-followup-agent-a2357a2f-67f7-40c1-8e64-301bcd604239.json b/apps/sim/public/landing-page-templates/meeting-followup-agent-a2357a2f-67f7-40c1-8e64-301bcd604239.json new file mode 100644 index 0000000000..64194d4b55 --- /dev/null +++ b/apps/sim/public/landing-page-templates/meeting-followup-agent-a2357a2f-67f7-40c1-8e64-301bcd604239.json @@ -0,0 +1,813 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.013Z", + "state": { + "blocks": { + "9f657d7a-b6d0-4a9d-aaac-ffc909df1b24": { + "id": "9f657d7a-b6d0-4a9d-aaac-ffc909df1b24", + "type": "schedule", + "name": "Start", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 114, + "subBlocks": { + "timezone": { + "id": "timezone", + "type": "short-input", + "value": "America/New_York" + }, + "inputFormat": { + "id": "inputFormat", + "type": "input-format", + "value": [ + { + "id": "f7bc7ff9-8c98-4bc2-a193-8884ea3a203f", + "name": "", + "type": "string", + "value": "", + "collapsed": false + } + ] + }, + "scheduleType": { + "id": "scheduleType", + "type": "short-input", + "value": "minutes" + }, + "minutesInterval": { + "id": "minutesInterval", + "type": "short-input", + "value": "15" + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "User uploaded files" + }, + "input": { + "type": "string", + "description": "Primary user input or message" + }, + "conversationId": { + "type": "string", + "description": "Conversation thread identifier" + } + }, + "data": {}, + "locked": false + }, + "b6030d6c-ad21-41b2-bd43-8e2ce9633ef1": { + "id": "b6030d6c-ad21-41b2-bd43-8e2ce9633ef1", + "type": "function", + "name": "parseAttendees", + "position": { + "x": 1588, + "y": 136 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "code": { + "id": "code", + "type": "short-input", + "value": "const attendeesString = input.attendees || '';\nconst attendeesArray = attendeesString.split(',').map(email => email.trim()).filter(email => email.length > 0);\nreturn { attendees: attendeesArray };" + }, + "language": { + "id": "language", + "type": "short-input", + "value": "javascript" + } + }, + "outputs": { + "result": { + "type": "json", + "description": "Return value from the executed JavaScript function" + }, + "stdout": { + "type": "string", + "description": "Console log output and debug messages from function execution" + } + }, + "data": {}, + "locked": false + }, + "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71": { + "id": "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71", + "type": "loop", + "name": "attendeeLoop", + "position": { + "x": 2150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "loopType": { + "id": "loopType", + "type": "short-input", + "value": "forEach" + }, + "collection": { + "id": "collection", + "type": "short-input", + "value": "" + } + }, + "outputs": {}, + "data": { + "width": 550, + "height": 588, + "loopType": "forEach", + "collection": "", + "whileCondition": "", + "doWhileCondition": "" + }, + "locked": false + }, + "663243e9-73ee-4efb-beae-65ddcbe480f8": { + "id": "663243e9-73ee-4efb-beae-65ddcbe480f8", + "type": "note", + "name": "Calendar Setup", + "position": { + "x": 648, + "y": -54 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Google Calendar Account \n- Select Calendar \n- Set Start and End Time Filters" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "ce6ca249-fcdf-45fc-824e-0511879469f2": { + "id": "ce6ca249-fcdf-45fc-824e-0511879469f2", + "type": "agent", + "name": "emailDrafter", + "position": { + "x": 1150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "gemini-2.5-pro" + }, + "tools": { + "id": "tools", + "type": "tool-input", + "value": [] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Draft follow-up emails based on meeting details. Create a professional follow-up email summarizing the meeting and any action items.\n\nIMPORTANT: For the attendees field, you MUST return a comma-separated string of email addresses, NOT an array. Format example: \"john@example.com, jane@example.com, bob@example.com\"" + }, + { + "role": "user", + "content": "Meeting details:\nTitle: \n\nPlease draft a professional follow-up email for this meeting. Include:\n1. Thank the attendees for their time\n2. Summarize key discussion points from the meeting title/description\n3. List any action items or next steps\n4. Professional sign-off\n\nRemember: Return attendees as a comma-separated string like \"email1@example.com, email2@example.com\"" + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "short-input", + "value": "{\n \"json_schema\": {\n \"name\": \"email_output\",\n \"schema\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"attendees\": {\n \"description\": \"A comma-separated string of attendee email addresses. Format as: email1@example.com, email2@example.com (NOT an array, must be a single string with emails separated by commas)\",\n \"type\": \"string\"\n },\n \"body\": {\n \"description\": \"Email body content\",\n \"type\": \"string\"\n },\n \"subject\": {\n \"description\": \"Email subject line\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"subject\",\n \"body\",\n \"attendees\"\n ],\n \"type\": \"object\"\n },\n \"strict\": true\n },\n \"type\": \"json_schema\"\n}" + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic" + } + }, + "locked": false + }, + "ddb0094c-3f55-43e1-8198-8372a63c0a2c": { + "id": "ddb0094c-3f55-43e1-8198-8372a63c0a2c", + "type": "google_calendar_v2", + "name": "calendarEvents", + "position": { + "x": 649, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 230, + "subBlocks": { + "text": { + "id": "text", + "type": "long-input", + "value": null + }, + "eventId": { + "id": "eventId", + "type": "short-input", + "value": null + }, + "summary": { + "id": "summary", + "type": "short-input", + "value": null + }, + "timeMax": { + "id": "timeMax", + "type": "short-input", + "value": "" + }, + "timeMin": { + "id": "timeMin", + "type": "short-input", + "value": "" + }, + "location": { + "id": "location", + "type": "short-input", + "value": null + }, + "attendees": { + "id": "attendees", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "list" + }, + "calendarId": { + "id": "calendarId", + "type": "file-selector", + "value": null + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "maxResults": { + "id": "maxResults", + "type": "short-input", + "value": null + }, + "description": { + "id": "description", + "type": "long-input", + "value": null + }, + "endDateTime": { + "id": "endDateTime", + "type": "short-input", + "value": null + }, + "sendUpdates": { + "id": "sendUpdates", + "type": "dropdown", + "value": null + }, + "minAccessRole": { + "id": "minAccessRole", + "type": "dropdown", + "value": null + }, + "startDateTime": { + "id": "startDateTime", + "type": "short-input", + "value": null + }, + "replaceExisting": { + "id": "replaceExisting", + "type": "dropdown", + "value": null + }, + "manualCalendarId": { + "id": "manualCalendarId", + "type": "short-input", + "value": "" + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": "" + }, + "destinationCalendar": { + "id": "destinationCalendar", + "type": "file-selector", + "value": null + }, + "manualDestinationCalendarId": { + "id": "manualDestinationCalendarId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "events": { + "type": "json", + "description": "List of events" + }, + "timeZone": { + "type": "string", + "optional": true, + "description": "Calendar time zone" + }, + "nextPageToken": { + "type": "string", + "optional": true, + "description": "Next page token" + } + }, + "data": { + "canonicalModes": { + "calendarId": "basic", + "oauthCredential": "basic", + "destinationCalendarId": "basic" + } + }, + "locked": false + }, + "836f06e4-b3d3-47f5-977d-1d1e98d1f029": { + "id": "836f06e4-b3d3-47f5-977d-1d1e98d1f029", + "type": "gmail_v2", + "name": "sendEmail", + "position": { + "x": 180, + "y": 100 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 288, + "subBlocks": { + "cc": { + "id": "cc", + "type": "short-input", + "value": null + }, + "to": { + "id": "to", + "type": "short-input", + "value": "" + }, + "bcc": { + "id": "bcc", + "type": "short-input", + "value": null + }, + "body": { + "id": "body", + "type": "short-input", + "value": "" + }, + "query": { + "id": "query", + "type": "short-input", + "value": null + }, + "folder": { + "id": "folder", + "type": "folder-selector", + "value": null + }, + "subject": { + "id": "subject", + "type": "short-input", + "value": "" + }, + "labelIds": { + "id": "labelIds", + "type": "dropdown", + "value": null + }, + "threadId": { + "id": "threadId", + "type": "short-input", + "value": null + }, + "messageId": { + "id": "messageId", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "send_gmail" + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "markAsRead": { + "id": "markAsRead", + "type": "switch", + "value": null + }, + "maxResults": { + "id": "maxResults", + "type": "short-input", + "value": null + }, + "unreadOnly": { + "id": "unreadOnly", + "type": "switch", + "value": null + }, + "attachments": { + "id": "attachments", + "type": "short-input", + "value": null + }, + "contentType": { + "id": "contentType", + "type": "short-input", + "value": "text" + }, + "searchQuery": { + "id": "searchQuery", + "type": "short-input", + "value": null + }, + "sourceLabel": { + "id": "sourceLabel", + "type": "folder-selector", + "value": null + }, + "manualFolder": { + "id": "manualFolder", + "type": "short-input", + "value": null + }, + "labelSelector": { + "id": "labelSelector", + "type": "folder-selector", + "value": null + }, + "manualLabelId": { + "id": "manualLabelId", + "type": "short-input", + "value": null + }, + "moveMessageId": { + "id": "moveMessageId", + "type": "short-input", + "value": null + }, + "actionMessageId": { + "id": "actionMessageId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "destinationLabel": { + "id": "destinationLabel", + "type": "folder-selector", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": "" + }, + "replyToMessageId": { + "id": "replyToMessageId", + "type": "short-input", + "value": null + }, + "manualSourceLabel": { + "id": "manualSourceLabel", + "type": "short-input", + "value": null + }, + "includeAttachments": { + "id": "includeAttachments", + "type": "switch", + "value": null + }, + "triggerCredentials": { + "id": "triggerCredentials", + "type": "oauth-input", + "value": null + }, + "labelFilterBehavior": { + "id": "labelFilterBehavior", + "type": "dropdown", + "value": null + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "labelActionMessageId": { + "id": "labelActionMessageId", + "type": "short-input", + "value": null + }, + "manualDestinationLabel": { + "id": "manualDestinationLabel", + "type": "short-input", + "value": null + }, + "samplePayload_gmail_poller": { + "id": "samplePayload_gmail_poller", + "type": "code", + "value": null + } + }, + "outputs": { + "id": { + "type": "string", + "optional": true, + "description": "Gmail message ID" + }, + "labelIds": { + "type": "array", + "items": { + "type": "string" + }, + "optional": true, + "description": "Email labels" + }, + "threadId": { + "type": "string", + "optional": true, + "description": "Gmail thread ID" + } + }, + "data": { + "extent": "parent", + "parentId": "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71", + "canonicalModes": { + "folder": "basic", + "addLabelIds": "basic", + "attachments": "basic", + "manageLabelId": "basic", + "removeLabelIds": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "038cd27a-de0c-479a-a69b-f424b5da01b3": { + "id": "038cd27a-de0c-479a-a69b-f424b5da01b3", + "type": "note", + "name": "Gmail Setup", + "position": { + "x": 2275, + "y": 12.5 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Gmail Account" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "be295f73-9393-4d40-8b01-38fcbcf11674", + "source": "9f657d7a-b6d0-4a9d-aaac-ffc909df1b24", + "target": "ddb0094c-3f55-43e1-8198-8372a63c0a2c", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "e9b031b1-6957-44f4-a6e6-a9886bb11fb0", + "source": "ddb0094c-3f55-43e1-8198-8372a63c0a2c", + "target": "ce6ca249-fcdf-45fc-824e-0511879469f2", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "f8b3242c-d811-4988-a56a-34b06b7afaeb", + "source": "ce6ca249-fcdf-45fc-824e-0511879469f2", + "target": "b6030d6c-ad21-41b2-bd43-8e2ce9633ef1", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "bc0b49f7-6b21-49e6-9469-17885ffa8996", + "source": "b6030d6c-ad21-41b2-bd43-8e2ce9633ef1", + "target": "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "05315d4f-81b4-464a-bfaf-5afef10d5608", + "source": "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71", + "target": "836f06e4-b3d3-47f5-977d-1d1e98d1f029", + "sourceHandle": "loop-start-source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": { + "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71": { + "id": "a2b4bbcb-aa56-46ce-9e42-2e4933c57f71", + "nodes": ["836f06e4-b3d3-47f5-977d-1d1e98d1f029"], + "iterations": 5, + "loopType": "forEach", + "enabled": true, + "forEachItems": "", + "whileCondition": "", + "doWhileCondition": "" + } + }, + "parallels": {}, + "metadata": { + "name": "meeting-followup-agent", + "description": "New workflow", + "color": "#2ed96a", + "exportedAt": "2026-03-09T21:40:19.013Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/ocr-invoice-db-d502887e-8750-40a3-a98b-fb2a4e725a4d.json b/apps/sim/public/landing-page-templates/ocr-invoice-db-d502887e-8750-40a3-a98b-fb2a4e725a4d.json new file mode 100644 index 0000000000..78155d1a32 --- /dev/null +++ b/apps/sim/public/landing-page-templates/ocr-invoice-db-d502887e-8750-40a3-a98b-fb2a4e725a4d.json @@ -0,0 +1,821 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.014Z", + "state": { + "blocks": { + "88c4fce8-e349-41ba-9dbd-ca63b6d34b60": { + "id": "88c4fce8-e349-41ba-9dbd-ca63b6d34b60", + "type": "supabase", + "name": "supabaseInvoices", + "position": { + "x": 1650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "data": { + "id": "data", + "type": "short-input", + "value": "" + }, + "file": { + "id": "file", + "type": "file-upload", + "value": null + }, + "path": { + "id": "path", + "type": "short-input", + "value": null + }, + "limit": { + "id": "limit", + "type": "short-input", + "value": null + }, + "paths": { + "id": "paths", + "type": "code", + "value": null + }, + "query": { + "id": "query", + "type": "short-input", + "value": null + }, + "table": { + "id": "table", + "type": "short-input", + "value": "invoices" + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": "{{SUPABASE_API_KEY}}" + }, + "bucket": { + "id": "bucket", + "type": "short-input", + "value": null + }, + "column": { + "id": "column", + "type": "short-input", + "value": null + }, + "filter": { + "id": "filter", + "type": "short-input", + "value": null + }, + "offset": { + "id": "offset", + "type": "short-input", + "value": null + }, + "params": { + "id": "params", + "type": "code", + "value": null + }, + "schema": { + "id": "schema", + "type": "short-input", + "value": null + }, + "search": { + "id": "search", + "type": "short-input", + "value": null + }, + "select": { + "id": "select", + "type": "short-input", + "value": null + }, + "sortBy": { + "id": "sortBy", + "type": "dropdown", + "value": null + }, + "toPath": { + "id": "toPath", + "type": "short-input", + "value": null + }, + "upsert": { + "id": "upsert", + "type": "dropdown", + "value": null + }, + "orderBy": { + "id": "orderBy", + "type": "short-input", + "value": null + }, + "download": { + "id": "download", + "type": "dropdown", + "value": null + }, + "fileName": { + "id": "fileName", + "type": "short-input", + "value": null + }, + "fromPath": { + "id": "fromPath", + "type": "short-input", + "value": null + }, + "isPublic": { + "id": "isPublic", + "type": "dropdown", + "value": null + }, + "language": { + "id": "language", + "type": "short-input", + "value": null + }, + "countType": { + "id": "countType", + "type": "dropdown", + "value": null + }, + "expiresIn": { + "id": "expiresIn", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "insert" + }, + "projectId": { + "id": "projectId", + "type": "short-input", + "value": null + }, + "sortOrder": { + "id": "sortOrder", + "type": "dropdown", + "value": null + }, + "matchCount": { + "id": "matchCount", + "type": "short-input", + "value": null + }, + "searchType": { + "id": "searchType", + "type": "dropdown", + "value": null + }, + "contentType": { + "id": "contentType", + "type": "short-input", + "value": null + }, + "fileContent": { + "id": "fileContent", + "type": "short-input", + "value": null + }, + "functionName": { + "id": "functionName", + "type": "short-input", + "value": null + }, + "fileSizeLimit": { + "id": "fileSizeLimit", + "type": "short-input", + "value": null + }, + "matchThreshold": { + "id": "matchThreshold", + "type": "short-input", + "value": null + }, + "queryEmbedding": { + "id": "queryEmbedding", + "type": "code", + "value": null + }, + "allowedMimeTypes": { + "id": "allowedMimeTypes", + "type": "code", + "value": null + } + }, + "outputs": { + "message": { + "type": "string", + "description": "Operation status message" + }, + "results": { + "type": "array", + "description": "Array of inserted records" + } + }, + "data": { + "canonicalModes": { + "fileData": "basic" + } + }, + "locked": false + }, + "1fbe6757-baa6-4488-8b4d-e71afaea3bda": { + "id": "1fbe6757-baa6-4488-8b4d-e71afaea3bda", + "type": "file_v3", + "name": "File Parser", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "file": { + "id": "file", + "type": "file-upload", + "value": null + }, + "fileUrl": { + "id": "fileUrl", + "type": "short-input", + "value": "" + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "Parsed files as UserFile objects" + }, + "combinedContent": { + "type": "string", + "description": "Combined content of all parsed files" + } + }, + "data": { + "canonicalModes": { + "fileInput": "advanced" + } + }, + "locked": false + }, + "f9f5e591-70a5-46a6-9cc2-84078e7022e8": { + "id": "f9f5e591-70a5-46a6-9cc2-84078e7022e8", + "type": "agent", + "name": "invoiceExtractor", + "position": { + "x": 1150, + "y": 152.09459172294703 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 259, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "gpt-5.2" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "type": "mistral_parse_v3", + "title": "Mistral Parser", + "params": { + "resultType": "markdown", + "fileReference": "" + }, + "toolId": "mistral_parser_v3", + "isExpanded": true, + "usageControl": "auto" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Extract invoice fields from the provided PDF document" + }, + { + "role": "user", + "content": "Extract all invoice fields from the PDF document attached to this email. The attachment URL is: . Use the Textract tool to parse the document and extract the invoice data." + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic", + "mistral_parse_v3:document": "advanced" + } + }, + "locked": false + }, + "a1880fed-ec19-4720-bdd3-6856c4425bc2": { + "id": "a1880fed-ec19-4720-bdd3-6856c4425bc2", + "type": "gmail_v2", + "name": "gmailTrigger", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 0, + "subBlocks": { + "cc": { + "id": "cc", + "type": "short-input", + "value": null + }, + "to": { + "id": "to", + "type": "short-input", + "value": null + }, + "bcc": { + "id": "bcc", + "type": "short-input", + "value": null + }, + "body": { + "id": "body", + "type": "long-input", + "value": null + }, + "query": { + "id": "query", + "type": "short-input", + "value": null + }, + "folder": { + "id": "folder", + "type": "folder-selector", + "value": null + }, + "subject": { + "id": "subject", + "type": "short-input", + "value": null + }, + "labelIds": { + "id": "labelIds", + "type": "dropdown", + "value": null + }, + "threadId": { + "id": "threadId", + "type": "short-input", + "value": null + }, + "messageId": { + "id": "messageId", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "dropdown", + "value": null + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "markAsRead": { + "id": "markAsRead", + "type": "short-input", + "value": false + }, + "maxResults": { + "id": "maxResults", + "type": "short-input", + "value": null + }, + "unreadOnly": { + "id": "unreadOnly", + "type": "switch", + "value": null + }, + "attachments": { + "id": "attachments", + "type": "short-input", + "value": null + }, + "contentType": { + "id": "contentType", + "type": "dropdown", + "value": null + }, + "searchQuery": { + "id": "searchQuery", + "type": "short-input", + "value": null + }, + "sourceLabel": { + "id": "sourceLabel", + "type": "folder-selector", + "value": null + }, + "manualFolder": { + "id": "manualFolder", + "type": "short-input", + "value": null + }, + "labelSelector": { + "id": "labelSelector", + "type": "folder-selector", + "value": null + }, + "manualLabelId": { + "id": "manualLabelId", + "type": "short-input", + "value": null + }, + "moveMessageId": { + "id": "moveMessageId", + "type": "short-input", + "value": null + }, + "actionMessageId": { + "id": "actionMessageId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "destinationLabel": { + "id": "destinationLabel", + "type": "folder-selector", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "replyToMessageId": { + "id": "replyToMessageId", + "type": "short-input", + "value": null + }, + "manualSourceLabel": { + "id": "manualSourceLabel", + "type": "short-input", + "value": null + }, + "includeAttachments": { + "id": "includeAttachments", + "type": "short-input", + "value": true + }, + "triggerCredentials": { + "id": "triggerCredentials", + "type": "short-input", + "value": null + }, + "labelFilterBehavior": { + "id": "labelFilterBehavior", + "type": "short-input", + "value": "INCLUDE" + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "labelActionMessageId": { + "id": "labelActionMessageId", + "type": "short-input", + "value": null + }, + "manualDestinationLabel": { + "id": "manualDestinationLabel", + "type": "short-input", + "value": null + }, + "samplePayload_gmail_poller": { + "id": "samplePayload_gmail_poller", + "type": "code", + "value": null + } + }, + "outputs": { + "email": { + "cc": { + "type": "string", + "description": "CC recipients" + }, + "id": { + "type": "string", + "description": "Gmail message ID" + }, + "to": { + "type": "string", + "description": "Recipient email address" + }, + "date": { + "type": "string", + "description": "Email date in ISO format" + }, + "from": { + "type": "string", + "description": "Sender email address" + }, + "labels": { + "type": "string", + "description": "Email labels array" + }, + "subject": { + "type": "string", + "description": "Email subject line" + }, + "bodyHtml": { + "type": "string", + "description": "HTML email body" + }, + "bodyText": { + "type": "string", + "description": "Plain text email body" + }, + "threadId": { + "type": "string", + "description": "Gmail thread ID" + }, + "attachments": { + "type": "file[]", + "description": "Array of email attachments as files (if includeAttachments is enabled)" + }, + "hasAttachments": { + "type": "boolean", + "description": "Whether email has attachments" + } + }, + "timestamp": { + "type": "string", + "description": "Event timestamp" + } + }, + "data": { + "canonicalModes": { + "folder": "basic", + "addLabelIds": "basic", + "attachments": "basic", + "manageLabelId": "basic", + "removeLabelIds": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "6ca6a47e-36db-4728-aa23-635bdcb3fa70": { + "id": "6ca6a47e-36db-4728-aa23-635bdcb3fa70", + "type": "note", + "name": "Gmail Setup", + "position": { + "x": 147.09586673447242, + "y": 14.230452516160646 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Connect Gmail Account \n- Select Relevant Labels if needed" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "16e2b354-2924-4022-9335-59bd929f1381": { + "id": "16e2b354-2924-4022-9335-59bd929f1381", + "type": "note", + "name": "Supabase Setup", + "position": { + "x": 1659.0192982175643, + "y": -65.81005643625652 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Set Supabase Project Id in a Secret as {{SUPABASE_PROJECT_ID}}\n- Set service role secret as {{SUPABASE_API_KEY}}" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "632109a8-f13f-482c-b24b-ae0078bc8834", + "source": "f9f5e591-70a5-46a6-9cc2-84078e7022e8", + "target": "88c4fce8-e349-41ba-9dbd-ca63b6d34b60", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "dd6a5faf-af38-4b5b-983a-4d9155b7dcb3", + "source": "1fbe6757-baa6-4488-8b4d-e71afaea3bda", + "target": "f9f5e591-70a5-46a6-9cc2-84078e7022e8", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "7780c36d-56c7-4349-bf32-df2911676dd3", + "source": "a1880fed-ec19-4720-bdd3-6856c4425bc2", + "target": "1fbe6757-baa6-4488-8b4d-e71afaea3bda", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "ocr-invoice-db", + "description": "Your first workflow - start building here!", + "color": "#3972F6", + "exportedAt": "2026-03-09T21:40:19.014Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/pr-review-cb5f2d92-a324-4958-8303-4710c572b71d.json b/apps/sim/public/landing-page-templates/pr-review-cb5f2d92-a324-4958-8303-4710c572b71d.json new file mode 100644 index 0000000000..a3f957514c --- /dev/null +++ b/apps/sim/public/landing-page-templates/pr-review-cb5f2d92-a324-4958-8303-4710c572b71d.json @@ -0,0 +1,1771 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.011Z", + "state": { + "blocks": { + "1758e31e-3514-46f1-a561-500e4eebb8fd": { + "id": "1758e31e-3514-46f1-a561-500e4eebb8fd", + "type": "github_v2", + "name": "githubtrigger", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": true, + "height": 100, + "subBlocks": { + "q": { + "id": "q", + "type": "short-input", + "value": null + }, + "ref": { + "id": "ref", + "type": "short-input", + "value": null + }, + "sha": { + "id": "sha", + "type": "short-input", + "value": null + }, + "base": { + "id": "base", + "type": "short-input", + "value": null + }, + "body": { + "id": "body", + "type": "long-input", + "value": null + }, + "head": { + "id": "head", + "type": "short-input", + "value": null + }, + "line": { + "id": "line", + "type": "short-input", + "value": null + }, + "name": { + "id": "name", + "type": "short-input", + "value": null + }, + "path": { + "id": "path", + "type": "short-input", + "value": null + }, + "repo": { + "id": "repo", + "type": "short-input", + "value": null + }, + "sort": { + "id": "sort", + "type": "dropdown", + "value": null + }, + "draft": { + "id": "draft", + "type": "dropdown", + "value": null + }, + "files": { + "id": "files", + "type": "long-input", + "value": null + }, + "order": { + "id": "order", + "type": "dropdown", + "value": null + }, + "owner": { + "id": "owner", + "type": "short-input", + "value": null + }, + "since": { + "id": "since", + "type": "short-input", + "value": null + }, + "state": { + "id": "state", + "type": "dropdown", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "until": { + "id": "until", + "type": "short-input", + "value": null + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "author": { + "id": "author", + "type": "short-input", + "value": null + }, + "branch": { + "id": "branch", + "type": "short-input", + "value": null + }, + "due_on": { + "id": "due_on", + "type": "short-input", + "value": null + }, + "inputs": { + "id": "inputs", + "type": "long-input", + "value": null + }, + "labels": { + "id": "labels", + "type": "short-input", + "value": null + }, + "run_id": { + "id": "run_id", + "type": "short-input", + "value": null + }, + "status": { + "id": "status", + "type": "dropdown", + "value": null + }, + "content": { + "id": "content", + "type": "long-input", + "value": null + }, + "gist_id": { + "id": "gist_id", + "type": "short-input", + "value": null + }, + "message": { + "id": "message", + "type": "short-input", + "value": null + }, + "owner_id": { + "id": "owner_id", + "type": "short-input", + "value": null + }, + "per_page": { + "id": "per_page", + "type": "short-input", + "value": null + }, + "tag_name": { + "id": "tag_name", + "type": "short-input", + "value": null + }, + "username": { + "id": "username", + "type": "short-input", + "value": null + }, + "assignees": { + "id": "assignees", + "type": "short-input", + "value": null + }, + "fork_name": { + "id": "fork_name", + "type": "short-input", + "value": null + }, + "fork_sort": { + "id": "fork_sort", + "type": "dropdown", + "value": null + }, + "operation": { + "id": "operation", + "type": "dropdown", + "value": null + }, + "protected": { + "id": "protected", + "type": "dropdown", + "value": null + }, + "reviewers": { + "id": "reviewers", + "type": "short-input", + "value": null + }, + "comment_id": { + "id": "comment_id", + "type": "short-input", + "value": null + }, + "owner_type": { + "id": "owner_type", + "type": "dropdown", + "value": null + }, + "prerelease": { + "id": "prerelease", + "type": "dropdown", + "value": null + }, + "project_id": { + "id": "project_id", + "type": "short-input", + "value": null + }, + "pullNumber": { + "id": "pullNumber", + "type": "short-input", + "value": null + }, + "release_id": { + "id": "release_id", + "type": "short-input", + "value": null + }, + "commentType": { + "id": "commentType", + "type": "dropdown", + "value": null + }, + "contentType": { + "id": "contentType", + "type": "short-input", + "value": "application/json" + }, + "description": { + "id": "description", + "type": "short-input", + "value": null + }, + "gist_public": { + "id": "gist_public", + "type": "dropdown", + "value": null + }, + "owner_login": { + "id": "owner_login", + "type": "short-input", + "value": null + }, + "reaction_id": { + "id": "reaction_id", + "type": "short-input", + "value": null + }, + "workflow_id": { + "id": "workflow_id", + "type": "short-input", + "value": null + }, + "commit_title": { + "id": "commit_title", + "type": "short-input", + "value": null + }, + "issue_number": { + "id": "issue_number", + "type": "short-input", + "value": null + }, + "merge_method": { + "id": "merge_method", + "type": "dropdown", + "value": null + }, + "organization": { + "id": "organization", + "type": "short-input", + "value": null + }, + "webhookSecret": { + "id": "webhookSecret", + "type": "short-input", + "value": null + }, + "enforce_admins": { + "id": "enforce_admins", + "type": "dropdown", + "value": null + }, + "milestone_sort": { + "id": "milestone_sort", + "type": "dropdown", + "value": null + }, + "project_number": { + "id": "project_number", + "type": "short-input", + "value": null + }, + "project_public": { + "id": "project_public", + "type": "dropdown", + "value": null + }, + "team_reviewers": { + "id": "team_reviewers", + "type": "short-input", + "value": null + }, + "milestone_state": { + "id": "milestone_state", + "type": "dropdown", + "value": null + }, + "milestone_title": { + "id": "milestone_title", + "type": "short-input", + "value": null + }, + "sslVerification": { + "id": "sslVerification", + "type": "short-input", + "value": "enabled" + }, + "milestone_number": { + "id": "milestone_number", + "type": "short-input", + "value": null + }, + "reaction_content": { + "id": "reaction_content", + "type": "dropdown", + "value": null + }, + "selectedTriggerId": { + "id": "selectedTriggerId", + "type": "short-input", + "value": "github_pr_opened" + }, + "default_branch_only": { + "id": "default_branch_only", + "type": "dropdown", + "value": null + }, + "milestone_description": { + "id": "milestone_description", + "type": "long-input", + "value": null + }, + "required_status_checks": { + "id": "required_status_checks", + "type": "short-input", + "value": null + }, + "samplePayload_github_push": { + "id": "samplePayload_github_push", + "type": "code", + "value": null + }, + "required_pull_request_reviews": { + "id": "required_pull_request_reviews", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_push": { + "id": "webhookUrlDisplay_github_push", + "type": "short-input", + "value": null + }, + "samplePayload_github_pr_closed": { + "id": "samplePayload_github_pr_closed", + "type": "code", + "value": null + }, + "samplePayload_github_pr_merged": { + "id": "samplePayload_github_pr_merged", + "type": "code", + "value": null + }, + "samplePayload_github_pr_opened": { + "id": "samplePayload_github_pr_opened", + "type": "code", + "value": null + }, + "samplePayload_github_pr_comment": { + "id": "samplePayload_github_pr_comment", + "type": "code", + "value": null + }, + "triggerInstructions_github_push": { + "id": "triggerInstructions_github_push", + "type": "text", + "value": null + }, + "samplePayload_github_pr_reviewed": { + "id": "samplePayload_github_pr_reviewed", + "type": "code", + "value": null + }, + "samplePayload_github_issue_closed": { + "id": "samplePayload_github_issue_closed", + "type": "code", + "value": null + }, + "samplePayload_github_issue_opened": { + "id": "samplePayload_github_issue_opened", + "type": "code", + "value": null + }, + "samplePayload_github_workflow_run": { + "id": "samplePayload_github_workflow_run", + "type": "code", + "value": null + }, + "samplePayload_github_issue_comment": { + "id": "samplePayload_github_issue_comment", + "type": "code", + "value": null + }, + "webhookUrlDisplay_github_pr_closed": { + "id": "webhookUrlDisplay_github_pr_closed", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_pr_merged": { + "id": "webhookUrlDisplay_github_pr_merged", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_pr_opened": { + "id": "webhookUrlDisplay_github_pr_opened", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_pr_comment": { + "id": "webhookUrlDisplay_github_pr_comment", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_pr_closed": { + "id": "triggerInstructions_github_pr_closed", + "type": "text", + "value": null + }, + "triggerInstructions_github_pr_merged": { + "id": "triggerInstructions_github_pr_merged", + "type": "text", + "value": null + }, + "triggerInstructions_github_pr_opened": { + "id": "triggerInstructions_github_pr_opened", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_pr_reviewed": { + "id": "webhookUrlDisplay_github_pr_reviewed", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_pr_comment": { + "id": "triggerInstructions_github_pr_comment", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_issue_closed": { + "id": "webhookUrlDisplay_github_issue_closed", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_issue_opened": { + "id": "webhookUrlDisplay_github_issue_opened", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay_github_workflow_run": { + "id": "webhookUrlDisplay_github_workflow_run", + "type": "short-input", + "value": null + }, + "samplePayload_github_release_published": { + "id": "samplePayload_github_release_published", + "type": "code", + "value": null + }, + "triggerInstructions_github_pr_reviewed": { + "id": "triggerInstructions_github_pr_reviewed", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_issue_comment": { + "id": "webhookUrlDisplay_github_issue_comment", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_issue_closed": { + "id": "triggerInstructions_github_issue_closed", + "type": "text", + "value": null + }, + "triggerInstructions_github_issue_opened": { + "id": "triggerInstructions_github_issue_opened", + "type": "text", + "value": null + }, + "triggerInstructions_github_workflow_run": { + "id": "triggerInstructions_github_workflow_run", + "type": "text", + "value": null + }, + "triggerInstructions_github_issue_comment": { + "id": "triggerInstructions_github_issue_comment", + "type": "text", + "value": null + }, + "webhookUrlDisplay_github_release_published": { + "id": "webhookUrlDisplay_github_release_published", + "type": "short-input", + "value": null + }, + "triggerInstructions_github_release_published": { + "id": "triggerInstructions_github_release_published", + "type": "text", + "value": null + } + }, + "outputs": { + "action": { + "type": "string", + "description": "Action performed (opened, closed, synchronize, reopened, edited, etc.)" + }, + "number": { + "type": "number", + "description": "Pull request number" + }, + "sender": { + "id": { + "type": "number", + "description": "User ID" + }, + "login": { + "type": "string", + "description": "Username" + }, + "node_id": { + "type": "string", + "description": "User node ID" + }, + "html_url": { + "type": "string", + "description": "Profile URL" + }, + "user_type": { + "type": "string", + "description": "User type (User, Bot, Organization)" + }, + "avatar_url": { + "type": "string", + "description": "Avatar URL" + } + }, + "event_type": { + "type": "string", + "description": "GitHub event type from X-GitHub-Event header (e.g., pull_request)" + }, + "repository": { + "id": { + "type": "number", + "description": "Repository ID" + }, + "url": { + "type": "string", + "description": "Repository API URL" + }, + "fork": { + "type": "boolean", + "description": "Whether the repository is a fork" + }, + "name": { + "type": "string", + "description": "Repository name" + }, + "size": { + "type": "number", + "description": "Repository size in KB" + }, + "owner": { + "id": { + "type": "number", + "description": "Owner ID" + }, + "login": { + "type": "string", + "description": "Owner username" + }, + "html_url": { + "type": "string", + "description": "Owner profile URL" + }, + "avatar_url": { + "type": "string", + "description": "Owner avatar URL" + }, + "owner_type": { + "type": "string", + "description": "Owner type (User, Organization)" + } + }, + "node_id": { + "type": "string", + "description": "Repository node ID" + }, + "private": { + "type": "boolean", + "description": "Whether the repository is private" + }, + "homepage": { + "type": "string", + "description": "Repository homepage URL" + }, + "html_url": { + "type": "string", + "description": "Repository HTML URL" + }, + "language": { + "type": "string", + "description": "Primary programming language" + }, + "full_name": { + "type": "string", + "description": "Repository full name (owner/repo)" + }, + "forks_count": { + "type": "number", + "description": "Number of forks" + }, + "default_branch": { + "type": "string", + "description": "Default branch name" + }, + "watchers_count": { + "type": "number", + "description": "Number of watchers" + }, + "repo_description": { + "type": "string", + "description": "Repository description" + }, + "stargazers_count": { + "type": "number", + "description": "Number of stars" + }, + "open_issues_count": { + "type": "number", + "description": "Number of open issues" + } + }, + "pull_request": { + "id": { + "type": "number", + "description": "Pull request ID" + }, + "base": { + "ref": { + "type": "string", + "description": "Target branch name" + }, + "sha": { + "type": "string", + "description": "Target branch commit SHA" + }, + "repo": { + "name": { + "type": "string", + "description": "Target repository name" + }, + "full_name": { + "type": "string", + "description": "Target repository full name" + } + } + }, + "body": { + "type": "string", + "description": "Pull request description" + }, + "head": { + "ref": { + "type": "string", + "description": "Source branch name" + }, + "sha": { + "type": "string", + "description": "Source branch commit SHA" + }, + "repo": { + "name": { + "type": "string", + "description": "Source repository name" + }, + "full_name": { + "type": "string", + "description": "Source repository full name" + } + } + }, + "user": { + "id": { + "type": "number", + "description": "User ID" + }, + "login": { + "type": "string", + "description": "Username" + }, + "node_id": { + "type": "string", + "description": "User node ID" + }, + "html_url": { + "type": "string", + "description": "Profile URL" + }, + "user_type": { + "type": "string", + "description": "User type (User, Bot, Organization)" + }, + "avatar_url": { + "type": "string", + "description": "Avatar URL" + } + }, + "draft": { + "type": "boolean", + "description": "Whether the PR is a draft" + }, + "state": { + "type": "string", + "description": "Pull request state (open, closed)" + }, + "title": { + "type": "string", + "description": "Pull request title" + }, + "labels": { + "type": "array", + "description": "Array of label objects" + }, + "merged": { + "type": "boolean", + "description": "Whether the PR was merged" + }, + "number": { + "type": "number", + "description": "Pull request number" + }, + "node_id": { + "type": "string", + "description": "Pull request node ID" + }, + "diff_url": { + "type": "string", + "description": "Pull request diff URL" + }, + "html_url": { + "type": "string", + "description": "Pull request HTML URL" + }, + "additions": { + "type": "number", + "description": "Number of lines added" + }, + "assignees": { + "type": "array", + "description": "Array of assigned users" + }, + "closed_at": { + "type": "string", + "description": "Pull request closed timestamp" + }, + "deletions": { + "type": "number", + "description": "Number of lines deleted" + }, + "merged_at": { + "type": "string", + "description": "Timestamp when PR was merged" + }, + "merged_by": { + "id": { + "type": "number", + "description": "User ID" + }, + "login": { + "type": "string", + "description": "Username" + }, + "node_id": { + "type": "string", + "description": "User node ID" + }, + "html_url": { + "type": "string", + "description": "Profile URL" + }, + "user_type": { + "type": "string", + "description": "User type (User, Bot, Organization)" + }, + "avatar_url": { + "type": "string", + "description": "Avatar URL" + } + }, + "patch_url": { + "type": "string", + "description": "Pull request patch URL" + }, + "created_at": { + "type": "string", + "description": "Pull request creation timestamp" + }, + "updated_at": { + "type": "string", + "description": "Pull request last update timestamp" + }, + "changed_files": { + "type": "number", + "description": "Number of files changed" + }, + "requested_reviewers": { + "type": "array", + "description": "Array of requested reviewers" + } + } + }, + "data": {}, + "locked": false + }, + "1b512f6c-e328-4b6e-9103-a6a8eb508926": { + "id": "1b512f6c-e328-4b6e-9103-a6a8eb508926", + "type": "slack", + "name": "slacknotify", + "position": { + "x": 1150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "text": { + "id": "text", + "type": "short-input", + "value": "*🔍 PR Code Review*\n\n*Repository:* \n*PR:* \n*Author:* \n*URL:* \n\n*Review:*\n" + }, + "files": { + "id": "files", + "type": "short-input", + "value": null + }, + "limit": { + "id": "limit", + "type": "short-input", + "value": null + }, + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "blocks": { + "id": "blocks", + "type": "code", + "value": null + }, + "fileId": { + "id": "fileId", + "type": "short-input", + "value": null + }, + "oldest": { + "id": "oldest", + "type": "short-input", + "value": null + }, + "userId": { + "id": "userId", + "type": "user-selector", + "value": null + }, + "viewId": { + "id": "viewId", + "type": "short-input", + "value": null + }, + "channel": { + "id": "channel", + "type": "channel-selector", + "value": null + }, + "content": { + "id": "content", + "type": "long-input", + "value": null + }, + "botToken": { + "id": "botToken", + "type": "short-input", + "value": null + }, + "dmUserId": { + "id": "dmUserId", + "type": "user-selector", + "value": null + }, + "threadTs": { + "id": "threadTs", + "type": "short-input", + "value": null + }, + "viewHash": { + "id": "viewHash", + "type": "short-input", + "value": null + }, + "emojiName": { + "id": "emojiName", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "send" + }, + "sectionId": { + "id": "sectionId", + "type": "short-input", + "value": null + }, + "userLimit": { + "id": "userLimit", + "type": "short-input", + "value": null + }, + "authMethod": { + "id": "authMethod", + "type": "short-input", + "value": "oauth" + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "updateText": { + "id": "updateText", + "type": "long-input", + "value": null + }, + "canvasTitle": { + "id": "canvasTitle", + "type": "short-input", + "value": null + }, + "memberLimit": { + "id": "memberLimit", + "type": "short-input", + "value": null + }, + "threadLimit": { + "id": "threadLimit", + "type": "short-input", + "value": null + }, + "viewPayload": { + "id": "viewPayload", + "type": "code", + "value": null + }, + "channelLimit": { + "id": "channelLimit", + "type": "short-input", + "value": null + }, + "editCanvasId": { + "id": "editCanvasId", + "type": "short-input", + "value": null + }, + "includeFiles": { + "id": "includeFiles", + "type": "switch", + "value": null + }, + "manualUserId": { + "id": "manualUserId", + "type": "short-input", + "value": null + }, + "canvasContent": { + "id": "canvasContent", + "type": "long-input", + "value": null + }, + "ephemeralUser": { + "id": "ephemeralUser", + "type": "user-selector", + "value": null + }, + "manualChannel": { + "id": "manualChannel", + "type": "short-input", + "value": "" + }, + "messageFormat": { + "id": "messageFormat", + "type": "short-input", + "value": "text" + }, + "publishUserId": { + "id": "publishUserId", + "type": "user-selector", + "value": null + }, + "signingSecret": { + "id": "signingSecret", + "type": "short-input", + "value": null + }, + "viewTriggerId": { + "id": "viewTriggerId", + "type": "short-input", + "value": null + }, + "includeDeleted": { + "id": "includeDeleted", + "type": "dropdown", + "value": null + }, + "includePrivate": { + "id": "includePrivate", + "type": "dropdown", + "value": null + }, + "manualDmUserId": { + "id": "manualDmUserId", + "type": "short-input", + "value": null + }, + "presenceUserId": { + "id": "presenceUserId", + "type": "user-selector", + "value": null + }, + "viewExternalId": { + "id": "viewExternalId", + "type": "short-input", + "value": null + }, + "attachmentFiles": { + "id": "attachmentFiles", + "type": "file-upload", + "value": null + }, + "canvasOperation": { + "id": "canvasOperation", + "type": "dropdown", + "value": null + }, + "deleteTimestamp": { + "id": "deleteTimestamp", + "type": "short-input", + "value": null + }, + "destinationType": { + "id": "destinationType", + "type": "short-input", + "value": "channel" + }, + "updateTimestamp": { + "id": "updateTimestamp", + "type": "short-input", + "value": null + }, + "downloadFileName": { + "id": "downloadFileName", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "includeNumMembers": { + "id": "includeNumMembers", + "type": "dropdown", + "value": null + }, + "reactionTimestamp": { + "id": "reactionTimestamp", + "type": "short-input", + "value": null + }, + "webhookUrlDisplay": { + "id": "webhookUrlDisplay", + "type": "short-input", + "value": null + }, + "channelCanvasTitle": { + "id": "channelCanvasTitle", + "type": "short-input", + "value": null + }, + "getThreadTimestamp": { + "id": "getThreadTimestamp", + "type": "short-input", + "value": null + }, + "getMessageTimestamp": { + "id": "getMessageTimestamp", + "type": "short-input", + "value": null + }, + "manualEphemeralUser": { + "id": "manualEphemeralUser", + "type": "short-input", + "value": null + }, + "manualPublishUserId": { + "id": "manualPublishUserId", + "type": "short-input", + "value": null + }, + "triggerInstructions": { + "id": "triggerInstructions", + "type": "text", + "value": null + }, + "channelCanvasContent": { + "id": "channelCanvasContent", + "type": "long-input", + "value": null + }, + "manualPresenceUserId": { + "id": "manualPresenceUserId", + "type": "short-input", + "value": null + }, + "viewInteractivityPointer": { + "id": "viewInteractivityPointer", + "type": "short-input", + "value": null + }, + "samplePayload_slack_webhook": { + "id": "samplePayload_slack_webhook", + "type": "code", + "value": null + } + }, + "outputs": { + "ts": { + "type": "string", + "description": "Message timestamp" + }, + "files": { + "type": "file[]", + "description": "Files attached to the message" + }, + "channel": { + "type": "string", + "description": "Channel ID where message was sent" + }, + "message": { + "type": "object", + "properties": { + "ts": { + "type": "string", + "description": "Message timestamp (unique identifier)" + }, + "team": { + "type": "string", + "optional": true, + "description": "Team/workspace ID" + }, + "text": { + "type": "string", + "description": "Message text content" + }, + "type": { + "type": "string", + "description": "Message type (usually \"message\")" + }, + "user": { + "type": "string", + "optional": true, + "description": "User ID who sent the message" + }, + "files": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique file identifier" + }, + "mode": { + "type": "string", + "optional": true, + "description": "File mode (hosted, external, etc.)" + }, + "name": { + "type": "string", + "description": "File name" + }, + "size": { + "type": "number", + "description": "File size in bytes" + }, + "mimetype": { + "type": "string", + "description": "MIME type of the file" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent link to the file" + }, + "url_private": { + "type": "string", + "optional": true, + "description": "Private download URL (requires auth)" + } + } + }, + "description": "Files attached to the message" + }, + "blocks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Block type (section, divider, image, actions, etc.)" + }, + "block_id": { + "type": "string", + "optional": true, + "description": "Unique block identifier" + } + } + }, + "description": "Block Kit blocks in the message" + }, + "bot_id": { + "type": "string", + "optional": true, + "description": "Bot ID if sent by a bot" + }, + "edited": { + "type": "object", + "optional": true, + "properties": { + "ts": { + "type": "string", + "description": "Timestamp of the edit" + }, + "user": { + "type": "string", + "description": "User ID who edited the message" + } + }, + "description": "Edit information if message was edited" + }, + "channel": { + "type": "string", + "optional": true, + "description": "Channel ID" + }, + "subtype": { + "type": "string", + "optional": true, + "description": "Message subtype (bot_message, file_share, etc.)" + }, + "username": { + "type": "string", + "optional": true, + "description": "Display username" + }, + "last_read": { + "type": "string", + "optional": true, + "description": "Timestamp of last read message" + }, + "permalink": { + "type": "string", + "optional": true, + "description": "Permanent URL to the message" + }, + "pinned_to": { + "type": "array", + "items": { + "type": "string", + "description": "Channel ID" + }, + "optional": true, + "description": "Channel IDs where message is pinned" + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Emoji name (without colons)" + }, + "count": { + "type": "number", + "description": "Number of times this reaction was added" + }, + "users": { + "type": "array", + "items": { + "type": "string", + "description": "User ID" + }, + "description": "Array of user IDs who reacted" + } + } + }, + "description": "Reactions on this message" + }, + "thread_ts": { + "type": "string", + "optional": true, + "description": "Parent message timestamp (for threaded replies)" + }, + "is_starred": { + "type": "boolean", + "optional": true, + "description": "Whether message is starred by user" + }, + "subscribed": { + "type": "boolean", + "optional": true, + "description": "Whether user is subscribed to thread" + }, + "attachments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number", + "optional": true, + "description": "Attachment ID" + }, + "ts": { + "type": "string", + "optional": true, + "description": "Timestamp shown in footer" + }, + "text": { + "type": "string", + "optional": true, + "description": "Main attachment text" + }, + "color": { + "type": "string", + "optional": true, + "description": "Color bar hex code or preset" + }, + "title": { + "type": "string", + "optional": true, + "description": "Attachment title" + }, + "footer": { + "type": "string", + "optional": true, + "description": "Footer text" + }, + "pretext": { + "type": "string", + "optional": true, + "description": "Text shown before attachment" + }, + "fallback": { + "type": "string", + "optional": true, + "description": "Plain text summary" + }, + "image_url": { + "type": "string", + "optional": true, + "description": "Image URL" + }, + "thumb_url": { + "type": "string", + "optional": true, + "description": "Thumbnail URL" + }, + "title_link": { + "type": "string", + "optional": true, + "description": "Title link URL" + }, + "author_icon": { + "type": "string", + "optional": true, + "description": "Author icon URL" + }, + "author_link": { + "type": "string", + "optional": true, + "description": "Author link URL" + }, + "author_name": { + "type": "string", + "optional": true, + "description": "Author display name" + }, + "footer_icon": { + "type": "string", + "optional": true, + "description": "Footer icon URL" + } + } + }, + "description": "Legacy attachments on the message" + }, + "reply_count": { + "type": "number", + "optional": true, + "description": "Total number of replies in thread" + }, + "latest_reply": { + "type": "string", + "optional": true, + "description": "Timestamp of most recent reply" + }, + "unread_count": { + "type": "number", + "optional": true, + "description": "Number of unread messages in thread" + }, + "parent_user_id": { + "type": "string", + "optional": true, + "description": "User ID of thread parent message author" + }, + "reply_users_count": { + "type": "number", + "optional": true, + "description": "Number of unique users who replied" + } + }, + "description": "Complete message object with all properties returned by Slack" + }, + "fileCount": { + "type": "number", + "description": "Number of files uploaded (when files are attached)" + } + }, + "data": { + "canonicalModes": { + "files": "basic", + "userId": "basic", + "channel": "basic", + "dmUserId": "basic", + "ephemeralUser": "basic", + "publishUserId": "basic", + "presenceUserId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "5a5657cf-fe97-4cd4-a612-6563395b42cd": { + "id": "5a5657cf-fe97-4cd4-a612-6563395b42cd", + "type": "agent", + "name": "reviewer", + "position": { + "x": 650, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "gpt-5.2" + }, + "tools": { + "id": "tools", + "type": "tool-input", + "value": [] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "You are an expert code reviewer. Review code changes from pull requests and provide constructive feedback on code quality, potential bugs, security issues, and best practices. Be thorough but concise in your review." + }, + { + "role": "user", + "content": "Review this Pull Request:\n\nTitle: \nAuthor: \nBranch: -> \nDescription: \n\nChanges: + lines, - lines, files changed\n\nDiff URL: " + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "short-input", + "value": 0.3 + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "code", + "value": null + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "cost": { + "type": "json", + "description": "Cost of the API call" + }, + "model": { + "type": "string", + "description": "Model used for generation" + }, + "tokens": { + "type": "json", + "description": "Token usage statistics" + }, + "content": { + "type": "string", + "description": "Generated response content" + }, + "toolCalls": { + "type": "json", + "description": "Tool calls made" + }, + "providerTiming": { + "type": "json", + "description": "Provider timing information" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic" + } + }, + "locked": false + }, + "05f5f82b-d596-42fa-b6a6-ec239dd106f1": { + "id": "05f5f82b-d596-42fa-b6a6-ec239dd106f1", + "type": "note", + "name": "Github Trigger Setup", + "position": { + "x": 149.5665622948054, + "y": -322.5592126598815 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "Follow these steps to connect your GitHub repository to this workflow:\n\n1. **Deploy the workflow** to get a webhook URL\n2. In your GitHub repository, go to **Settings > Webhooks**\n3. Click **Add webhook** and paste the webhook URL\n4. Select **\"Pull requests\"** as the trigger event\n5. Set **Content type** to `application/json`\n6. Click **Add webhook** to save\n\nOnce configured, this workflow will automatically trigger when a new PR is opened." + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "fecbc79d-a49c-4d54-9cd8-0e8d562bd8eb": { + "id": "fecbc79d-a49c-4d54-9cd8-0e8d562bd8eb", + "type": "note", + "name": "Slack Setup", + "position": { + "x": 1151.9987219214383, + "y": -5.283281147402853 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "content": { + "id": "content", + "type": "long-input", + "value": "- Connect Slack Account \n- Select relevant channel " + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "f58be161-ae53-4f88-b862-b54237ae6c10", + "source": "1758e31e-3514-46f1-a561-500e4eebb8fd", + "target": "5a5657cf-fe97-4cd4-a612-6563395b42cd", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "44bae5e6-1e4f-4f19-bd4b-f67e7d31dc4d", + "source": "5a5657cf-fe97-4cd4-a612-6563395b42cd", + "target": "1b512f6c-e328-4b6e-9103-a6a8eb508926", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "pr-review", + "description": "New workflow", + "color": "#b61717", + "exportedAt": "2026-03-09T21:40:19.010Z" + }, + "variables": {} + } +} diff --git a/apps/sim/public/landing-page-templates/resume-parser-d083c931-8788-4c6e-814c-0788830e164d.json b/apps/sim/public/landing-page-templates/resume-parser-d083c931-8788-4c6e-814c-0788830e164d.json new file mode 100644 index 0000000000..497eb1f9e8 --- /dev/null +++ b/apps/sim/public/landing-page-templates/resume-parser-d083c931-8788-4c6e-814c-0788830e164d.json @@ -0,0 +1,485 @@ +{ + "version": "1.0", + "exportedAt": "2026-03-09T21:40:19.013Z", + "state": { + "blocks": { + "1abd6f01-04a4-4c69-9344-4b5cc2afe816": { + "id": "1abd6f01-04a4-4c69-9344-4b5cc2afe816", + "type": "start_trigger", + "name": "Start", + "position": { + "x": 150, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 100, + "subBlocks": { + "inputFormat": { + "id": "inputFormat", + "type": "input-format", + "value": [ + { + "id": "b2cc9328-2024-4ff0-862f-c0ecaafa0dff", + "name": "resumeFile", + "type": "file[]", + "description": "PDF Resume" + } + ] + } + }, + "outputs": { + "files": { + "type": "file[]", + "description": "User uploaded files" + }, + "input": { + "type": "string", + "description": "Primary user input or message" + }, + "conversationId": { + "type": "string", + "description": "Conversation thread identifier" + } + }, + "data": {}, + "locked": false + }, + "015feca5-9044-4bc8-be1e-536454264ece": { + "id": "015feca5-9044-4bc8-be1e-536454264ece", + "type": "agent", + "name": "resumeParser", + "position": { + "x": 581.640625, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 288, + "subBlocks": { + "model": { + "id": "model", + "type": "short-input", + "value": "" + }, + "tools": { + "id": "tools", + "type": "short-input", + "value": [ + { + "type": "mistral_parse_v3", + "title": "Mistral Parser", + "params": { + "resultType": "markdown", + "fileReference": "" + }, + "toolId": "mistral_parser_v3", + "isExpanded": true, + "usageControl": "force" + } + ] + }, + "apiKey": { + "id": "apiKey", + "type": "short-input", + "value": null + }, + "skills": { + "id": "skills", + "type": "skill-input", + "value": null + }, + "messages": { + "id": "messages", + "type": "messages-input", + "value": [ + { + "role": "system", + "content": "Parse resume fields" + } + ] + }, + "maxTokens": { + "id": "maxTokens", + "type": "short-input", + "value": null + }, + "verbosity": { + "id": "verbosity", + "type": "dropdown", + "value": null + }, + "memoryType": { + "id": "memoryType", + "type": "dropdown", + "value": "none" + }, + "temperature": { + "id": "temperature", + "type": "slider", + "value": null + }, + "azureEndpoint": { + "id": "azureEndpoint", + "type": "short-input", + "value": null + }, + "bedrockRegion": { + "id": "bedrockRegion", + "type": "short-input", + "value": null + }, + "thinkingLevel": { + "id": "thinkingLevel", + "type": "dropdown", + "value": null + }, + "vertexProject": { + "id": "vertexProject", + "type": "short-input", + "value": null + }, + "conversationId": { + "id": "conversationId", + "type": "short-input", + "value": null + }, + "responseFormat": { + "id": "responseFormat", + "type": "short-input", + "value": "{\n \"name\": \"candidate_info\",\n \"schema\": {\n \"additionalProperties\": false,\n \"properties\": {\n \"education\": {\n \"description\": \"Education background\",\n \"type\": \"string\"\n },\n \"email\": {\n \"description\": \"Candidate's email address\",\n \"type\": \"string\"\n },\n \"experience\": {\n \"description\": \"Work experience summary\",\n \"type\": \"string\"\n },\n \"name\": {\n \"description\": \"Candidate's full name\",\n \"type\": \"string\"\n },\n \"phone\": {\n \"description\": \"Candidate's phone number\",\n \"type\": \"string\"\n },\n \"skills\": {\n \"description\": \"Key skills\",\n \"type\": \"string\"\n },\n \"summary\": {\n \"description\": \"Professional summary or objective\",\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"name\",\n \"email\",\n \"phone\",\n \"summary\",\n \"experience\",\n \"education\",\n \"skills\"\n ],\n \"type\": \"object\"\n },\n \"strict\": true\n}" + }, + "vertexLocation": { + "id": "vertexLocation", + "type": "short-input", + "value": null + }, + "azureApiVersion": { + "id": "azureApiVersion", + "type": "short-input", + "value": null + }, + "reasoningEffort": { + "id": "reasoningEffort", + "type": "dropdown", + "value": null + }, + "bedrockSecretKey": { + "id": "bedrockSecretKey", + "type": "short-input", + "value": null + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": null + }, + "vertexCredential": { + "id": "vertexCredential", + "type": "oauth-input", + "value": null + }, + "slidingWindowSize": { + "id": "slidingWindowSize", + "type": "short-input", + "value": null + }, + "bedrockAccessKeyId": { + "id": "bedrockAccessKeyId", + "type": "short-input", + "value": null + }, + "slidingWindowTokens": { + "id": "slidingWindowTokens", + "type": "short-input", + "value": null + }, + "previousInteractionId": { + "id": "previousInteractionId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "name": { + "type": "string", + "description": "Candidate's full name" + }, + "email": { + "type": "string", + "description": "Candidate's email address" + }, + "phone": { + "type": "string", + "description": "Candidate's phone number" + }, + "skills": { + "type": "string", + "description": "Key skills" + }, + "summary": { + "type": "string", + "description": "Professional summary or objective" + }, + "education": { + "type": "string", + "description": "Education background" + }, + "experience": { + "type": "string", + "description": "Work experience summary" + } + }, + "data": { + "canonicalModes": { + "oauthCredential": "basic", + "reducto_v2:document": "advanced", + "mistral_parse_v3:document": "advanced" + } + }, + "locked": false + }, + "808dd734-31a6-4440-bfda-d1be028ac2f7": { + "id": "808dd734-31a6-4440-bfda-d1be028ac2f7", + "type": "note", + "name": "Google Sheets Setup", + "position": { + "x": 1001.6440011186405, + "y": -7.809815030718283 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "- Connect Google Sheets Account \n- Select relevant spreadsheet \n" + } + }, + "outputs": {}, + "data": {}, + "locked": false + }, + "dfa14e2d-6071-4188-b5d8-c1f2ecb09d88": { + "id": "dfa14e2d-6071-4188-b5d8-c1f2ecb09d88", + "type": "google_sheets_v2", + "name": "candidatesSheet", + "position": { + "x": 1010, + "y": 150 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 0, + "subBlocks": { + "title": { + "id": "title", + "type": "short-input", + "value": null + }, + "ranges": { + "id": "ranges", + "type": "long-input", + "value": null + }, + "values": { + "id": "values", + "type": "short-input", + "value": "[[\"\", \"\", \"\", \"\", \"\", \"\", \"\"]]" + }, + "sheetId": { + "id": "sheetId", + "type": "short-input", + "value": null + }, + "batchData": { + "id": "batchData", + "type": "long-input", + "value": null + }, + "cellRange": { + "id": "cellRange", + "type": "short-input", + "value": null + }, + "operation": { + "id": "operation", + "type": "short-input", + "value": "append" + }, + "sheetName": { + "id": "sheetName", + "type": "sheet-selector", + "value": null + }, + "credential": { + "id": "credential", + "type": "oauth-input", + "value": null + }, + "filterValue": { + "id": "filterValue", + "type": "short-input", + "value": null + }, + "sheetTitles": { + "id": "sheetTitles", + "type": "short-input", + "value": null + }, + "filterColumn": { + "id": "filterColumn", + "type": "short-input", + "value": null + }, + "spreadsheetId": { + "id": "spreadsheetId", + "type": "file-selector", + "value": null + }, + "filterMatchType": { + "id": "filterMatchType", + "type": "dropdown", + "value": null + }, + "manualSheetName": { + "id": "manualSheetName", + "type": "short-input", + "value": "Sheet1" + }, + "insertDataOption": { + "id": "insertDataOption", + "type": "short-input", + "value": "INSERT_ROWS" + }, + "manualCredential": { + "id": "manualCredential", + "type": "short-input", + "value": "9XZ3B8KDqUKwhQGwNJK7rJdIFX18VkeN" + }, + "valueInputOption": { + "id": "valueInputOption", + "type": "dropdown", + "value": null + }, + "manualSpreadsheetId": { + "id": "manualSpreadsheetId", + "type": "short-input", + "value": "Candidates" + }, + "destinationSpreadsheetId": { + "id": "destinationSpreadsheetId", + "type": "short-input", + "value": null + } + }, + "outputs": { + "metadata": { + "type": "json", + "properties": { + "spreadsheetId": { + "type": "string", + "description": "Google Sheets spreadsheet ID" + }, + "spreadsheetUrl": { + "type": "string", + "description": "Spreadsheet URL" + } + }, + "description": "Spreadsheet metadata including ID and URL" + }, + "tableRange": { + "type": "string", + "description": "Range of the table where data was appended" + }, + "updatedRows": { + "type": "number", + "description": "Number of rows updated" + }, + "updatedCells": { + "type": "number", + "description": "Number of cells updated" + }, + "updatedRange": { + "type": "string", + "description": "Range of cells that were updated" + }, + "updatedColumns": { + "type": "number", + "description": "Number of columns updated" + } + }, + "data": { + "canonicalModes": { + "sheetName": "advanced", + "spreadsheetId": "basic", + "oauthCredential": "basic" + } + }, + "locked": false + }, + "ca748c0f-eeb7-4ee7-b279-ceb4c1848ea8": { + "id": "ca748c0f-eeb7-4ee7-b279-ceb4c1848ea8", + "type": "note", + "name": "API Setup", + "position": { + "x": 153.14457477885225, + "y": -242.20344578716245 + }, + "enabled": true, + "horizontalHandles": true, + "advancedMode": false, + "triggerMode": false, + "height": 114, + "subBlocks": { + "content": { + "id": "content", + "type": "short-input", + "value": "\nThis Workflow is to be triggered via API. \n\n- Deploy using the button in the top right and call the workflow as an API using the endpoint in the instructions! \n\n- You can pass in files using the format: \n[{\n \"data\": \"\",\n \"type\": \"file\",\n \"name\": \"document.pdf\",\n \"mime\": \"application/pdf\"\n}]" + } + }, + "outputs": {}, + "data": {}, + "locked": false + } + }, + "edges": [ + { + "id": "a79bb6c6-4afe-4082-9285-777ebe4101ed", + "source": "1abd6f01-04a4-4c69-9344-4b5cc2afe816", + "target": "015feca5-9044-4bc8-be1e-536454264ece", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + }, + { + "id": "4b0791e8-fef4-4a27-b4e1-6a780511cb59", + "source": "015feca5-9044-4bc8-be1e-536454264ece", + "target": "dfa14e2d-6071-4188-b5d8-c1f2ecb09d88", + "sourceHandle": "source", + "targetHandle": "target", + "type": "default", + "data": {} + } + ], + "loops": {}, + "parallels": {}, + "metadata": { + "name": "resume-parser", + "description": "New workflow", + "color": "#1e9de8", + "exportedAt": "2026-03-09T21:40:19.013Z" + }, + "variables": {} + } +}