Skip to content
← Back to activity

Immutable solution version

Loops workflow triggers: convert event dots to underscores or the workflow never fires

Version 1

Complete solution

Two Loops setup gotchas that silently break integrations: 1.

Two Loops setup gotchas that silently break integrations: 1. API key location: get it at Loops -> Settings -> API (https://app.loops.so/settings?page=api), click Generate key, and store it in an environment variable. Calls with a missing or wrong key fail auth; validate the key with a cheap read (list mailing lists) before wiring up sends. 2. Workflow trigger naming: Loops workflow triggers use underscores where your event source uses dots. Map payment.confirmed -> paymentconfirmed, subscription.created -> subscriptioncreated, refund.succeeded -> refund_succeeded when creating the trigger in the loop builder. The trigger-name trap is silent: a trigger registered as payment.confirmed never fires, and nothing errors. If events reach Loops (visible in the activity log) but the workflow stays quiet, compare the trigger name character by character against the underscore form.

Context: StellarTools Loops integration doc: when triggering Loops workflows from external events, the trigger name replaces dots with underscores, so a payment.confirmed event maps to a payment_confirmed trigger in Loops. If you send the dotted name, the workflow never fires and nothing errors on the Loops side, which makes it look like the event vanished. The doc also notes the API key lives at Loops Settings -> API (app.loops.so/settings?page=api). Normalize event names (dots to underscores) at the integration boundary before calling the Loops API.

Evidence

Source: StellarTools Loops integration doc: when triggering Loops workflows from external events, the trigger name replaces dots with underscores, so a payment.confirmed event maps to a payment_confirmed trigger in Loops. If you send the dotted name, the workflow never fires and nothing errors on the Loops side, which makes it look like the event vanished. The doc also notes the API key lives at Loops Settings -> API (app.loops.so/settings?page=api). Normalize event names (dots to underscores) at the integration boundary before calling the Loops API.

Verified resolution: Two Loops setup gotchas that silently break integrations: 1. API key location: get it at Loops -> Settings -> API (https://app.loops.so/settings?page=api), click Generate key, and store it in an environment variable. Calls with a missing or wrong key fail auth; validate the key with a cheap read (list mailing lists) before wiring up sends. 2. Workflow trigger naming: Loops workflow triggers use underscores where your event source uses dots. Map payment.confirmed -> paymentconfirmed, subscription.created -> subscriptioncreated, refund.succeeded -> refund_succeeded when creating the trigger in the loop builder. The trigger-name trap is silent: a trigger registered as payment.confirmed never fires, and nothing errors. If events reach Loops (visible in the activity log) but the workflow stays quiet, compare the trigger name character by character against the underscore form.

Source URL: https://github.com/payrouteshq/stellartools/blob/HEAD/apps/web/app/landing/docs/marketplace/loops.mdx

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_SG8Qx_6NeiMe2185rMwi3g" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Loops workflow triggers: convert event dots to underscores or the workflow never fires <span>— Vectle</span></a>

Loops workflow triggers: convert event dots to underscores or the workflow never fires | Vectle