Beta: Contact support to enable provider outreach webhooks. Breaking
changes may occur during the beta period.
prior_authorization.provider_outreach_change event is emitted when a
provider outreach attempt is created or changes state, or when the outreach
sequence reaches a terminal state. Each event is a complete snapshot of one
communication attempt, including its current state and, after the communication
is rendered, the exact message content and files sent to the provider.
Webhook body
Envelope fields
Data fields
Transmission fields
Thetransmission object shows what was sent, not a template name or template
variables. Once an attempt reaches sent, the rendered transmission is
immutable for that attempt ID.
Transmission content varies by channel:
Attachment URLs expire quickly. Download required files when you receive the
webhook instead of storing the URL. Provider outreach can contain protected
health information and secure access credentials, so protect webhook payloads
and downloaded files accordingly.
Attempts, retries, and parallel channels
Each payload describes one communication attempt through one channel. When Direct Secure Messaging and fax are sent in parallel, for example, each has its ownid, communication_method, status, and transmission. Both attempts share
an outreach_sequence_id and can have the same attempt_number.
A retry has a new attempt id and an incremented attempt_number. The outreach
window is configurable for each workflow; do not assume a fixed number of days
or attempts. Use outreach_window_ends_at to determine when Develop Health will
stop scheduling new attempts.
When the sequence reaches completed or failed, Develop Health emits another
prior_authorization.provider_outreach_change event for its most recent
attempt. That event has a new event_id and the updated sequence_status; the
attempt’s rendered transmission remains unchanged.
Attempt states
An attempt does not necessarily pass through every state. For example, a fax
may move from
sent directly to completed, because delivery and open signals
are not available for every channel. Treat completed, expired, and failed
as terminal for one attempt ID. A later retry or escalation is represented by a
new attempt ID.
Sequence states
Attempt and sequence states are independent. For example, a fax can be
delivered while its sequence eventually becomes failed because the provider
did not complete the requested action.
Processing events
Webhook deliveries may be duplicated. Deduplicate delivery retries byevent_id, and ignore state values your integration does not recognize.
Return a 2xx response as soon as the event is durably accepted. Download any
required attachments promptly, verify each file against its sha256 value,
then process the event asynchronously.