Skip to main content
Glama
custom-attribute-webhook.ts2.43 kB
import { createTrigger, Property, TriggerStrategy, } from '@activepieces/pieces-framework'; import { MarkdownVariant } from '@activepieces/shared'; const setupMarkdown = ` ## Setup Instructions 1. Go to your Fountain account Settings > Worker Attributes 2. Find the custom attribute you want to monitor 3. Click "..." > Manage Webhooks 4. In the modal, click "Add Webhook" 5. Copy and paste the webhook URL below into the URL field 6. Save the webhook configuration **Webhook URL:** \`\`\`text {{webhookUrl}} \`\`\` This trigger will fire whenever the specified custom attribute's value changes for any worker. `; export const fountainCustomAttributeWebhook = createTrigger({ name: 'custom_attribute_webhook', displayName: 'Custom Attribute Webhook', description: 'Triggers when Fountain worker custom attribute values change', props: { setup: Property.MarkDown({ value: setupMarkdown, variant: MarkdownVariant.INFO, }), }, sampleData: { webhookUuid: "36ea7dc3-2378-4769-a749-54387dea22c6", companyUuid: "b69527e2-cf03-45e4-b667-48db36133391", trigger: { type: "customAttribute", resourceIdentifier: "583ff255-459d-47b5-9f9f-b3a300c22c02" }, action: "update", timestamp: "2024-07-28T13:06:11.443Z", workerUuid: "3b8d5848-c96a-4639-ac7d-132fe36a43f0", previousState: { customAttributeUuid: "583ff255-459d-47b5-9f9f-b3a300c22c02", customAttribute: { label: "test", dataType: "string", key: "test", readOnly: false, hidden: false, protected: false, uuid: "583ff255-459d-47b5-9f9f-b3a300c22c02" }, value: "before" }, newState: { customAttributeUuid: "583ff255-459d-47b5-9f9f-b3a300c22c02", customAttribute: { label: "test", dataType: "string", key: "test", readOnly: false, hidden: false, protected: false, uuid: "583ff255-459d-47b5-9f9f-b3a300c22c02" }, value: "after" } }, type: TriggerStrategy.WEBHOOK, async onEnable() { // No setup needed - webhook URL is provided for manual configuration in Fountain }, async onDisable() { // No cleanup needed }, async run(context) { const payload = context.payload.body as any; if (!payload.trigger || payload.trigger.type !== 'customAttribute') { return []; } return [payload]; }, });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/activepieces/activepieces'

If you have feedback or need assistance with the MCP directory API, please join our Discord server