Feedback lets lead recipients report what happened to a lead after delivery: a conversion when the lead progressed through a lifecycle stage, or a return when the lead is given back. Feedback events power conversion reporting, including the per-stage columns on the Connections Report.
Reports what happened to a lead after delivery. Recipients use this endpoint to send
a conversion (the lead progressed through a lifecycle stage, such as Appointment Set
or Sale Closed) or a return (the lead is being given back, with the reason why).
The event_id query parameter identifies the delivery event the feedback refers to.
It is generated when a Delivery step handles the lead and must be shared with the
recipient along with the lead data. Because the event ID authorizes the request,
no API key is required.
The request body may be sent as JSON, XML, or form encoding; set the Content-Type
header accordingly, or the request is rejected. The response is JSON by default, or
XML when requested via the Accept header.
A 201 means the submission was processed, not that it was accepted. Feedback that
fails the step's acceptance criteria, or that arrives after the lead was already
returned, also comes back 201, with outcome: "failure" in the body. Always check
outcome rather than the status code.
Feedback must be enabled on the delivery step before recipients can use this endpoint. See Enabling a Recipient to Send Conversion Feedback to LeadConduit and Sending Feedback to LeadConduit in the help center.
The feedback to record for the lead.
The feedback submission was processed. Check the outcome field to see whether it
was accepted — a submission rejected by the step's acceptance criteria, or one sent
for a lead that was already returned, is also reported here with outcome: "failure".
Either the type field is missing or is not one of conversion and return, in which
case the body is the usual feedback result with outcome: "error", or the request body
could not be parsed as the MIME type given in the Content-Type header, in which case
the body is plain text describing the parse failure.
Feedback has not been configured on the flow step that delivered the lead.
No event was found for the given event_id, or the event is more than 90 days old.
The Accept header asks for a format that cannot be produced, or the Content-Type
header names a MIME type that is not supported. Use application/json,
application/xml, text/xml, or application/x-www-form-urlencoded.
Feedback is configured on the flow step but currently switched off. This is distinct
from the 403, which means feedback was never configured at all.
The request body is larger than the 10 MB limit.
The request has a body but no Content-Type header.
The event_id is not a valid ID, or it refers to the wrong kind of event (for example a lead ID, or a non-recipient event).
{- "type": "conversion",
- "reason": "Sale Closed",
- "occurred_at": "2026-05-30T08:00:00Z"
}{- "outcome": "success",
- "reason": "string",
- "price": 0,
- "lead": {
- "id": "5fd4371e940df5a34a3888b2",
- "first_name": "Joe",
- "last_name": "Blow",
- "email": "joeblow@gmail.com",
- "phone_1": "5125551212"
}
}An alternative to POST /feedback for senders that cannot issue a request body. The
feedback fields are read from the query string alongside event_id. Behavior is
otherwise identical to the POST form, including the caveat that a 201 reports the
submission was processed, not that it was accepted.
The feedback submission was processed. Check the outcome field to see whether it
was accepted.
The type query parameter is missing, or is not one of conversion and return.
Feedback has not been configured on the flow step that delivered the lead.
No event was found for the given event_id, or the event is more than 90 days old.
The Accept header asks for a format that cannot be produced.
Feedback is configured on the flow step but currently switched off.
The event_id is not a valid ID, or it refers to the wrong kind of event.
{- "outcome": "success",
- "reason": "string",
- "price": 0,
- "lead": {
- "id": "5fd4371e940df5a34a3888b2",
- "first_name": "Joe",
- "last_name": "Blow",
- "email": "joeblow@gmail.com",
- "phone_1": "5125551212"
}
}A variant of POST /feedback for recipients that did not keep the LeadConduit event ID.
The lead is identified by the recipient_record_id you attached when you received it,
typically the ID of the record in your CRM, and recipient_name selects the inbound
feedback integration that understands your payload.
recipient_name is the suffix of an installed leadconduit-{recipient_name}.inbound.feedback
integration module and is matched case-insensitively. Use standard for the generic
payload: the same fields as POST /feedback, as JSON, XML, or form encoding, plus
recipient_record_id. CRM-specific recipients such as salesforce accept the payload
format of that system instead; see the integration's documentation for the fields.
As with POST /feedback, a 201 means the submission was processed, not that it was
accepted; always check outcome. Feedback must be enabled on the delivery step, and
no API key is required.
The feedback to record for the lead, in the format the named integration expects. The standard format is documented here.
The feedback submission was processed. Check outcome to see whether it was accepted.
The type field is missing or is not one of conversion and return, or the request
body could not be parsed by the integration.
Feedback has not been configured on the flow step that delivered the lead. The body is produced by the integration.
Either no inbound feedback integration is installed for recipient_name, or the
request carried no recipient_record_id, or no delivered lead matches it (events
older than 90 days are no longer available). In the last two cases the body is a
feedback result produced by the integration with outcome: "failure" and the reason.
The Accept header asks for a format the integration cannot produce.
Feedback is configured on the flow step but currently switched off.
The request body is larger than the 10 MB limit.
The request has a body but no Content-Type header.
{- "type": "conversion",
- "reason": "Sale Closed",
- "occurred_at": "2026-05-30T08:00:00Z",
- "recipient_record_id": "54321"
}{- "outcome": "success",
- "reason": "string",
- "price": 0,
- "lead": {
- "id": "5fd4371e940df5a34a3888b2",
- "first_name": "Joe",
- "last_name": "Blow",
- "email": "joeblow@gmail.com",
- "phone_1": "5125551212"
}
}