This module integrates Drupal Webforms with the GovDelivery (Granicus) API. When a webform is submitted, it automatically subscribes the provided email address to specified topics within GovDelivery. It supports both older and newer versions of the GovDelivery API and includes options for privacy consent and subscriber notifications, with a retry queue for failed submissions.
Integrates Webforms with GovDelivery Communications (Granicus) API v1 and v2. Subscribes email addresses to topics on form submission.
Features
Provides a Webform "GovDelivery" handler that sends webform submissions to GovDelivery as subscriptions.
Dual API Support
- v1 (Basic Auth + XML): Uses account code, username/password credentials
- v2 (Token + JSON): Uses numeric account ID, X-AUTH-TOKEN
Optional Features
- Privacy consent flag — sends privacy_consent: true/false with v2 requests
- Subscriber notification — toggle to send welcome email, defaults to off
Async Retry Queue (GovDeliveryRetryQueueWorker)
- On API failure, eligible errors (connection errors + 5xx only) are queued for retry via Drupal cron
- Retries up to 5 times
- 4xx client errors are never retried (wouldn't succeed on retry)
- Queue items store Key IDs (not secrets), credentials are re-fetched at runtime
Credential Management
- Uses Drupal's Key module for all secrets — API tokens, usernames, passwords
- Credentials never touch configuration or log files
Post-Installation
See the module README.md for full setup and usage instructions.
Additional Requirements
Recommended modules/libraries
Queue UI module is useful to see subscriptions that didn't get delivered and are waiting for retry.