Skip to main content
The trial.* events follow a trial from the moment a prospect pairs with it. For each of the five event types, this page says when it is sent and when it is not, lists the fields of data, and shows a full event. See Trials for the trial flow.

Common fields

Trial events are tied to the trial’s pool line, which is pool_line_id. A subscription with a line filter receives them only if it lists that line id. The same holds for the message, reaction and typing events of the trial’s messages, which carry the metadata of the message, not of the trial. No event announces that a trial is created or updated, or that its pairing window expires, and a trial event can be lost: see What events do not announce. GET /v1/trial/status remains the way to check a pairing. Personal data. paired_handle is the handle of the prospect: a phone number or an email address. Do not copy it into logs, tickets or other tools. Refer to a prospect by an id of your own.

trial.linked

Sent when a prospect pairs with a trial by sending its pairing code to the trial’s pool line. The text that carries the pairing code produces no message.received.
Personal data: paired_handle.

trial.dormant

Sent when the number of messages sent to the prospect without any reply reaches the limit of the trial. A trial does not become dormant with time: only this count moves it.
Personal data: none.

trial.reactivated

Sent when a dormant trial becomes active again. A reply on a trial that is already active sends nothing. On an iMessage line, a read by the prospect is not a signal: it neither sets the counter back to 0 nor reactivates the trial. Only a reply or a reaction does.
Personal data: none.

trial.bind_conflict

Sent when a prospect sends a valid pairing code, but their handle is already paired with this pool line, or with as many pool lines of the pool as its limit allows. The trial stays unpaired, and the prospect gets no reply.
Personal data: paired_handle.

trial.revoked

Sent when you revoke a trial with POST /v1/trial/{trial_id}/revoke. It is not sent when the pairing window of a trial expires, when you revoke a trial that is already revoked, or when you revoke a trial that was still pairing after its window.
Personal data: paired_handle.