MailOptin · AsyncAPI Specification

Mailoptin Webhooks

Version

View Spec View on GitHub CompanyEmail MarketingMarketing AutomationLead GenerationWordPressNewslettersWebhooksModel Context ProtocolPluginsAsyncAPIWebhooksEvents

AsyncAPI Specification

mailoptin-webhooks.yml Raw ↑
generated: '2026-08-12'
method: searched
source: https://mailoptin.io/article/trigger-webhooks-wordpress-form-submissions/
secondary_source: >-
  mailoptin/src/connections/WebHookConnect/SendWebhookRequest.php and
  mailoptin/src/connections/WebHookConnect/Connect.php in
  https://downloads.wordpress.org/plugin/mailoptin.1.2.78.1.zip
asyncapi_spec: null
note: >-
  MailOptin publishes no AsyncAPI and no event catalog, and there is nothing to fabricate
  one from: the webhook surface is OUTBOUND FROM THE CUSTOMER'S OWN WordPress site, not
  from a MailOptin-hosted platform. The plugin's "Webhook" connection fires an HTTP request
  the site owner composes, to a URL the site owner supplies, when an optin form is
  submitted. There is exactly one trigger and no subscription API, so this is recorded as a
  webhook catalog (type Webhooks) rather than as an event specification.
direction: outbound-from-customer-site
delivery: at-most-once
event_count: 1
events:
- name: optin.submitted
  documented_as: optin form submission
  trigger: A visitor submits any MailOptin optin form on the customer's WordPress site.
  transport: HTTP request from the customer's WordPress site to a user-supplied URL
  methods: [GET, POST, PUT, PATCH, DELETE]
  default_method: GET
  content_types:
  - application/json
  - application/x-www-form-urlencoded
  payload:
    composition: user-defined key/value pairs
    merge_tags:
    - tag: mo_email
      resolves_to: subscriber email address
    - tag: mo_name
      resolves_to: full name as submitted
    - tag: mo_fname
      resolves_to: first name, split from the submitted name
    - tag: mo_lname
      resolves_to: last name, split from the submitted name
    - tag: <custom field>
      resolves_to: the matching extra field captured by the optin
    note: >-
      There is no fixed schema. Empty values are filtered out before send, so a receiver
      cannot rely on any key being present.
  headers:
    user_defined: true
    automatic:
    - Content-Type: application/json (set only for JSON-format POST/PUT/PATCH)
  query_string: >-
    For GET and DELETE the composed pairs are urlencoded onto the request URL instead of
    sent as a body.
security:
  signing: none
  shared_secret: none
  timestamp: none
  replay_protection: none
  tls_verification: enabled by default; overridable via the https_local_ssl_verify filter
  note: >-
    A receiver has no cryptographic way to verify that a request came from a MailOptin
    site. Authentication must be improvised by the site owner as a static header or a
    secret in the URL.
reliability:
  retries: none
  backoff: none
  dead_letter: none
  ordering: none
  note: One wp_remote_request per submission; a non-2xx response is logged, not retried.
testing:
  documented_tools:
  - https://webhook.site
  - https://beeceptor.com
  note: The documentation suggests third-party request bins; MailOptin ships no test event sender.
inbound_events:
  supported: false
  note: MailOptin accepts no inbound webhooks and offers no event subscription API.