d25d482dc2
CI / Migrate Dev DB (push) Has been skipped
CI / Detect Version (push) Has been cancelled
CI / Migrate DB (push) Has been cancelled
CI / Build Dev ECR (./docker/app.Dockerfile, ECR_APP) (push) Has been cancelled
CI / Build Dev ECR (./docker/db.Dockerfile, ECR_MIGRATIONS) (push) Has been cancelled
CI / Build Dev ECR (./docker/pii.Dockerfile, ECR_PII) (push) Has been cancelled
CI / Build Dev ECR (./docker/realtime.Dockerfile, ECR_REALTIME) (push) Has been cancelled
CI / Deploy Trigger.dev (Dev) (push) Has been cancelled
CI / Build AMD64 (./docker/app.Dockerfile, ECR_APP, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build AMD64 (./docker/db.Dockerfile, ECR_MIGRATIONS, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build AMD64 (./docker/pii.Dockerfile, ECR_PII, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build AMD64 (./docker/realtime.Dockerfile, ECR_REALTIME, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/app.Dockerfile, ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/db.Dockerfile, ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/pii.Dockerfile, ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Build ARM64 (GHCR Only) (./docker/realtime.Dockerfile, ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/migrations) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/pii) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/realtime) (push) Has been cancelled
CI / Create GHCR Manifests (ghcr.io/simstudioai/simstudio) (push) Has been cancelled
CI / Check Docs Changes (push) Has been cancelled
CI / Process Docs (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
CI / Test and Build (push) Has been cancelled
Publish CLI Package / publish-npm (push) Has been cancelled
Publish Python SDK / publish-pypi (push) Has been cancelled
Publish TypeScript SDK / publish-npm (push) Has been cancelled
39 lines
1.7 KiB
TypeScript
39 lines
1.7 KiB
TypeScript
import type { SVGProps } from 'react'
|
|
import { createElement } from 'react'
|
|
import { Webhook } from 'lucide-react'
|
|
import type { BlockConfig } from '@/blocks/types'
|
|
import { getTrigger } from '@/triggers'
|
|
|
|
const WebhookIcon = (props: SVGProps<SVGSVGElement>) => createElement(Webhook, props)
|
|
|
|
export const GenericWebhookBlock: BlockConfig = {
|
|
type: 'generic_webhook',
|
|
name: 'Webhook',
|
|
description: 'Receive webhooks from any service by configuring a custom webhook.',
|
|
category: 'triggers',
|
|
icon: WebhookIcon,
|
|
bgColor: '#10B981', // Green color for triggers
|
|
docsLink: 'https://docs.sim.ai/workflows/triggers/webhook',
|
|
triggerAllowed: true,
|
|
bestPractices: `
|
|
- You can test the webhook by sending a request to the webhook URL. E.g. depending on authorization: curl -X POST http://localhost:3000/api/webhooks/trigger/d8abcf0d-1ee5-4b77-bb07-b1e8142ea4e9 -H "Content-Type: application/json" -H "X-Sim-Secret: 1234" -d '{"message": "Test webhook trigger", "data": {"key": "v"}}'
|
|
- Continuing example above, the body can be accessed in downstream block using dot notation. E.g. <webhook1.message> and <webhook1.data.key>
|
|
- To deduplicate incoming events, set the Deduplication Field to a dot-notation path of a unique field in the payload (e.g. "event.id"). Duplicate values within 7 days will be skipped.
|
|
- Only use when there's no existing integration for the service with triggerAllowed flag set to true.
|
|
`,
|
|
subBlocks: [...getTrigger('generic_webhook').subBlocks],
|
|
|
|
tools: {
|
|
access: [], // No external tools needed for triggers
|
|
},
|
|
|
|
inputs: {}, // No inputs - webhook triggers receive data externally
|
|
|
|
outputs: {},
|
|
|
|
triggers: {
|
|
enabled: true,
|
|
available: ['generic_webhook'],
|
|
},
|
|
}
|