Triggers
Supported event sources and trigger payloads.
Supported Trigger Types
Dolphinflow supports these trigger types:
balance_changetoken_receiptnft_receipttransaction_statusprogram_lognew_token_listingcronwebhook
Only some trigger types are currently wired to live event sources. Balance changes, token/NFT account changes, program logs, new token listings, cron schedules, and webhooks have runtime paths. Transaction status exists in schema/UI but does not currently have a dedicated listener implementation.
Balance Change
Use balance_change to watch a Solana account balance.
Config fields:
address: Solana account address.minChange: minimum lamport delta before the workflow runs.changeType:increase,decrease, orany.
Runtime payload fields include:
trigger.address
trigger.previousLamports
trigger.lamports
trigger.changeLamports
trigger.changeSol
trigger.changeDirection
trigger.slotToken Receipt and NFT Receipt
Use token_receipt or nft_receipt to watch account changes for a token account or NFT-related account.
Config fields include:
address: watched Solana account used by the current listener.tokenAccount: token account address, present in shared schemas.tokenMint: optional mint filter, present in shared schemas.walletAddress: NFT wallet address, present in shared schemas.collectionAddress: optional NFT collection filter, present in shared schemas.verifiedOnly: defaults to true in shared schemas.
Runtime payload fields include:
trigger.address
trigger.slot
trigger.accountData
trigger.typeProgram Log
Use program_log to listen to logs emitted by a Solana program.
Config fields:
programId: Solana program address.logPattern: optional regular expression checked against log lines.mentionedAccounts: present in shared schemas for future filtering.
Runtime payload fields include:
trigger.programId
trigger.signature
trigger.logs
trigger.slot
trigger.errNew Token Listing
Use new_token_listing to watch Birdeye's Solana new listings feed.
Config fields:
source: currentlybirdeye.includeMemePlatforms: includes listings from meme launch platforms when true.minLiquidityUsd: optional listener-side liquidity threshold.minVolume24hUsd: optional listener-side 24h volume threshold.limit: Birdeye page size, from 1 to 20.pollIntervalSeconds: polling interval, minimum 30 seconds.
The listener service must have BIRDEYE_API_KEY configured.
Runtime payload fields include:
trigger.type
trigger.source
trigger.firedAt
trigger.address
trigger.mint
trigger.symbol
trigger.name
trigger.liquidityUsd
trigger.volume24hUsd
trigger.priceUsd
trigger.marketCapUsd
trigger.listedAtCron
Use cron to schedule a workflow.
Config fields:
schedule: cron expression such as0 * * * *.timezone: timezone string, defaults toUTC.
Cron schedules must be valid and have an interval of at least one minute. Cron jobs are synced when workflows are enabled, disabled, updated, deleted, or reconciled on API startup.
Runtime payload fields include:
trigger.type
trigger.firedAt
trigger.schedule
trigger.timezoneWebhook
Use webhook to run a workflow from an HTTP request.
Config fields:
webhookId: generated endpoint id.inputFormat: optional documented fields for expected request input.authEnabled: whether a header must match before execution.authHeaderName: header name, defaults toAuthorization.authHeaderValue: required when auth is enabled.
Runtime payload fields include:
trigger.type
trigger.firedAt
trigger.requestId
trigger.method
trigger.url
trigger.path
trigger.webhookId
trigger.headers
trigger.query
trigger.body
trigger.input
trigger.rawBody
trigger.authx402 Paid Webhook
Use x402_payment to require an x402 payment before an HTTP request can queue a workflow execution.
Config fields:
webhookId: generated endpoint id.payTo: Solana recipient wallet.price: price string such as$0.001.network: fixed to Solana devnet in the first implementation.description: optional payment description.inputFormat: optional documented fields for expected request input.
Runtime payload fields include all webhook fields plus:
trigger.payment.price
trigger.payment.network
trigger.payment.payTo
trigger.payment.facilitatorUrl
trigger.payment.settlement