Guides/ Integrations
Guides

Integrations

A WordPress plugin for Contact Form 7 and WPForms, and form handlers for Netlify and Vercel. Install, paste a key, done.

Three ready-made integrations for the most common places a form lives. Each one adds the hidden trap field and the timing signal for you, calls the API with a five-second timeout, and delivers the message if spamex cannot be reached.

WordPress

A plugin for Contact Form 7 and WPForms.

  1. Download the plugin and install it from Plugins → Add New → Upload Plugin.
  2. Settings → spamex: paste a key from your dashboard.
  3. On the key’s settings page in the dashboard, set the honeypot field to the name the plugin shows (default website).

What happens to spam is your choice: reject it with a neutral sentence, drop it silently behind the usual thanks message, or deliver it tagged [spamex: review] for a look later. Bots are always dropped silently. Tools → spamex log lists the last 200 verdicts; one click on a wrong one sends the correction.

Other form plugins can call spamex_classify($fields) from a hook of their own, and the spamex_cf7_fields and spamex_wpforms_fields filters change how fields are mapped.

Netlify and Vercel

A serverless form handler for a static site. Point the form at the function; it checks the submission, drops bots, and forwards real messages as JSON to the webhook of your choice (Zapier, Make, Slack, your own API) with the verdict attached. Borderline messages arrive marked review: true.

Set SPAMEX_KEY and FORWARD_URL in the hosting settings, deploy, and give the form the two free signals:

<form action="/.netlify/functions/contact" method="post">
  <input name="name" required />
  <input name="email" type="email" required />
  <textarea name="message" required></textarea>
  <div style="position:absolute;left:-9999px" aria-hidden="true"><input name="website" tabindex="-1" autocomplete="off" /></div>
  <input type="hidden" name="form_load_ts" value="" /><script>document.currentScript.previousElementSibling.value = Math.floor(Date.now() / 1000);</script>
  <button>Send</button>
</form>

On Vercel the action is /api/contact. The README in each download lists every setting.

Anything else

The API is one request per submission; the quickstart has it in curl, Node, Python and PHP, and the language guides (Node.js, PHP, Python) show complete handlers. Running a form service? See For form platforms.

↑↓ navigate↵ openDocs and blog