Anticode Open builder

Website form to Pipedream: an HTTP trigger for every submission

Pipedream workflows can start from an HTTP request. Give its endpoint URL to Anticode's webhook connector and each form sent on your published sites runs the workflow, with the submission as parsed JSON in steps.trigger.event.body. It's a good fit for developers who want to write a few lines of Node.js or Python around each enquiry without running a server.

Updated · By the Anticode team

When Pipedream makes sense

Pipedream sits between a no-code automation tool and your own backend. Steps can be prebuilt actions or code, and the event that started the run stays inspectable in the workflow's history. Sending a website form to Pipedream is worth it when a submission needs real logic: deduplicating leads against an API, scoring an enquiry, calling an internal service, or fanning one booking out to three systems. For a single destination such as a spreadsheet or a Slack channel, Anticode's own connectors are simpler.

Create the trigger

  1. Create a workflow and choose the HTTP / Webhook trigger. Pipedream issues an endpoint on a *.m.pipedream.net address.
  2. Leave authorization off for now (see below) and keep the default response.
  3. In Anticode, open Connectors › Webhook, paste the endpoint and press Save and turn on. Use the https:// form of the URL.
  4. Press Send a test. In Pipedream, select the new event to use it as the sample for later steps.
  5. Add your steps, deploy, and submit your real form once to see a booking or sign-up event alongside the sample.

Where the fields are

Pipedream's trigger documentation says JSON request bodies are parsed into objects, so Anticode's payload is available directly:

steps.trigger.event.body.form
booking, contact, subscribe or signin (fn:<name> for a custom form)
steps.trigger.event.body.site
The Anticode project's name
steps.trigger.event.body.data
The visitor's fields as strings, such as email, name, phone, service, day, time or message, depending on the form
steps.trigger.event.body.submittedAt
Arrival time in UTC, ISO 8601
steps.trigger.event.body.event
Always form.submitted

A first code step that returns early unless body.form is the one you care about keeps the rest of the workflow simple. Anticode's bodies are small, far below the 512 KB point where Pipedream asks for a different upload mode.

Two settings that break delivery

Authorization

Pipedream HTTP triggers are public by default, and it offers a custom token or OAuth that callers must send as a Bearer header. Anticode's webhook connector doesn't send an Authorization header, so with either option on, every submission is refused. Pipedream's docs point out that anyone with the endpoint URL can trigger the workflow, so if you leave auth off, keep the URL private. A practical middle ground: append a long random query parameter to the URL you give Anticode, such as ?k=…, and have your first step stop the run when steps.trigger.event.query.k doesn't match.

Custom responses

If a workflow uses $.respond() but doesn't reach it on some runs, Pipedream answers 400. Anticode counts anything outside 2xx as a failed delivery. Either keep the default response, or respond at the very start of the workflow before any branching.

Delivery and retries

Anticode's server posts each submission once, roughly a minute after the visitor sends it, and allows five seconds for the answer. It doesn't retry and doesn't follow redirects, so use the endpoint exactly as issued, or a custom domain that answers directly. If a run fails inside Pipedream after the request was accepted, that's Pipedream's to replay from its event history; if the request never reached Pipedream, the submission is still in your Anticode dashboard to export.

Security notes

  • Anticode encrypts the endpoint URL with AES-256-GCM, bound to your account, and never returns it to the dashboard, the builder or your sites.
  • Visitor input is untrusted. Treat body.data as plain strings; don't evaluate it, and escape it before putting it into HTML emails.
  • Store your own API keys in Pipedream's environment or connected accounts, not in the URL you give Anticode.

Limits

One webhook URL serves every site on your Anticode account, so branch on body.site. The response body is ignored, so a workflow can't change what the visitor sees after submitting; for that, use a site function. Submissions held past a free site's monthly allowance are never sent. The full payload and URL rules are on the webhook connector page, and n8n covers a self-hosted alternative.

Questions people ask

Can Pipedream reply with a quote for the visitor?

Not through the webhook connector. A site function calls your endpoint while the visitor waits and shows the reply on the thank-you page.

Does Anticode sign the request?

No. Use a secret query parameter for a simple check, or a site function if you need HMAC signatures.

Can I use plain http for the endpoint?

No. Anticode only posts to https:// addresses on port 443.

Sources

  1. Pipedream Docs: Triggers (HTTP), checked