Audit every form webhook

A WordPress form webhook can keep working long after the person who created it has left, the receiving tool has changed, or the client has stopped using the workflow. The form still shows a success message, so nobody notices that submission data is going to the wrong place or going nowhere.

A useful WordPress form webhook audit answers four questions: what sends the request, where it goes, which fields leave the site, and who owns the destination. If one answer is missing, the integration is not ready for routine maintenance or client offboarding.

Use this checklist for form-builder webhook add-ons, automation plugins, custom snippets, and connector tools that send a submission to another service.

Build a WordPress form webhook audit register

Start with an inventory, not a test submission. Open each high-value form and list every action that sends data away from WordPress. Check form settings, add-on feeds, automation plugins, code snippets, and the receiving service.

RecordWhat to captureWhy it matters
SourceSite, form, form ID, and sending componentShows where to change or disable it
DestinationService name and redacted endpoint labelShows where submission data leaves WordPress
PurposeThe business step the request supportsExposes connections with no current reason to exist
PayloadFields and metadata sentSupports minimization and review
OwnerNamed person or role on both sidesPrevents orphaned integrations
EvidenceLast safe test, result, and next review dateSeparates configured from confirmed working

Do not put full endpoint URLs, tokens, signing secrets, or copied customer payloads in a shared maintenance sheet. Use a redacted label and point authorized staff to the system that owns the secret.

Find every sending surface

The same form can send data through more than one path. A native add-on may post to a CRM while an automation plugin sends a second copy to chat. A custom hook can remain active after the visible feed is removed.

  • Review each form builder’s actions, feeds, and confirmation settings.
  • Search automation plugins for the form name, ID, and destination service.
  • Inspect site-specific snippets and must-use plugins for submission hooks.
  • Ask the receiving service which active endpoint or workflow matches the form.
  • Compare the result with the broader form inventory.

Builder documentation shows why this must be checked in the actual site. Gravity Forms configures webhook feeds under Form Settings, while the Gravity Forms Webhooks Add-On can send remote HTTP requests on submission. The WPForms Webhooks Addon exposes request URL, method, format, headers, body, and optional logic. Elementor Pro places Webhook under Actions After Submit.

Review the payload field by field

Map each outgoing value to a stated purpose. A CRM may need a name, email address, service choice, and message. It probably does not need every hidden field, browser detail, uploaded file URL, internal note, or full query string.

  • Remove fields the destination does not use.
  • Separate visitor answers from site-generated metadata.
  • Confirm whether files are transferred, linked, or excluded.
  • Check that field labels and keys still match the receiving workflow.
  • Keep secrets out of payload captures, screenshots, and logs.

Use the same discipline as the field-minimization checklist for AI review: send the smallest useful record. OWASP’s web service security guidance also recommends protected transport when a service carries sensitive or authenticated data.

Assign owners on both ends

The WordPress owner can maintain the sending form but may not control the CRM, help desk, spreadsheet, or custom API. Record one owner for the source and one for the destination. A team alias is better than a personal address when staff changes are common.

Ask the destination owner to confirm the workflow name, current purpose, expected fields, retention or deletion process, and what a failure looks like. If nobody claims the destination, pause before deleting anything and treat the connection as an offboarding risk.

The client form offboarding checklist helps place webhook ownership beside domains, licenses, mailboxes, and stored entries. A webhook is not handed off merely because its URL still responds.

Run a safe end-to-end test

Use the public form with synthetic, non-sensitive data that is easy to identify. Record the test label and time. Then verify the source entry, webhook execution evidence, and final destination record. A visitor confirmation proves only that the form reached its confirmation step.

CheckpointEvidenceFailure owner
Form accepted testVisible confirmation and stored source recordForm owner
Sender attempted requestFeed, action, or connector status without exposed secretsWordPress/integration owner
Destination accepted itMatching record or documented receipt IDDestination owner
Fields arrived correctlyExpected values and no unintended fieldsBoth owners
Staff can actRecord appears in the real review queueBusiness-process owner

Do not store full payloads just because they are convenient debugging evidence. The OWASP logging guidance lists access tokens, passwords, connection strings, encryption keys, and sensitive personal data among the values that should not be recorded directly.

Separate form review from webhook delivery

Sentient Forms can help summarize, check, score, or recommend a route for a stored submission. It does not turn a third-party webhook into a confirmed delivery channel, and a Routing Recommendation does not send or synchronize the entry to another system.

Keep the local review record and the external delivery evidence separate. If a webhook fails, staff should still know where to find the original entry or Submission Ledger record. If an AI-assisted review fails, that should not erase the evidence that the webhook ran.

The existing entries and alerts audit provides a useful companion check for stored records and staff notifications.

Add change and offboarding triggers

Repeat the WordPress form webhook audit after a form field change, destination migration, client handoff, staff departure, secret rotation, automation-plugin update, or change in what the business does with the submission. Add a review date to high-value connections even when nothing changes.

  • Remove obsolete destinations through the owning configuration, not by hoping the endpoint expires.
  • Rotate or revoke credentials through the destination’s supported process.
  • Update the register with the test result and new owner.
  • Run one final safe submission and inspect the actual review queue.

A short, current register is more useful than a large diagram nobody maintains. Start with the forms that carry the highest business or privacy cost, close the owner and payload gaps, and schedule the next check.

What should a WordPress form webhook audit include?

Record the source form and sending component, a redacted destination label, business purpose, fields sent, owners on both ends, last safe test, result, and next review date. Keep endpoint secrets and real customer payloads out of the audit sheet.

How do I test a form webhook safely?

Submit synthetic, non-sensitive data through the public form. Match the stored source entry to the sender status and the final destination record, then confirm that only the intended fields arrived and the real review queue can use them.

Does Sentient Forms deliver or monitor form webhooks?

No broad webhook-delivery claim should be inferred. Sentient Forms can review a stored submission and produce local results such as summaries or routing recommendations, but third-party webhook configuration, delivery, ownership, and destination evidence remain separate responsibilities.

Scroll to Top