An overview on the structure of our webhook payloads.

Depending on the webhook you create, there will be a different payloads. This page is designed to give you the structure of each payload for each webhook type. Here are the different types of webhooks.


Commonly Used Fields

These are the fields that you will typically see when receiving payloads from us.

FieldTypeDescription
id stringUnique identifier of the webhook event. It always starts with evt_
type stringThe type of webhook it is. The options are send, reply, bounce, open, click, unsubscribe, pause, resume, stage_change, delete
msgstringUnique identifier of the message.
cnv stringUnique identifier of the conversation thread.
workspace_id stringUnique identifier of the workspace. It always starts with space_.
contact_id stringUnique identifier of the contact. It always starts with contact_.
emailstringThe email address of the contact.
campaign_id stringUnique identifier of the campaign. It always starts with camp_.
campaign_name stringName of the campaign.
mailbox_id stringUnique identifier of the mailbox the email is connected to. It always starts with mailbox_
mailbox_email stringEmail address of the mailbox the email is connected to.
fromstringUnique identifier of the contact that sent an email. It always starts with contact_. If the contact is not found this returns a null.
from_email stringEmail address of the sender of the reply email.
from_name stringFrom name of the sender of the reply email.
to stringContact that an email was sent to. It always starts with contact_
to_email stringEmail address of the contact that the email was sent to.
subject stringSubject of the email.
text stringRaw text of the email.
html stringRaw html of the email.
uni_id stringGlobal unique identifier associated with the email. This is the ID generated by whatever email provider is sending the email.
new_stage_id stringUnique identifier of the new stage the contact is in. It always starts with stage_. This is used in the stage_change hook only.
new_stage_name stringName of the stage . This is used in the stage_change hook only.
created_at numberTime the webhook was created at and first sent. If there are any retry attempts the webhook this time will still stay static associated with the first time it was sent. This is in unix timestamp.

Send Payload (send)

This payload will fire when there is a new email sent.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        msg: "msg_2er3g4rdwefrgfdf",
        cnv: "cnv_098h2dh209jd209j",
        type: "send",
        workspace_id: "space_d2n0092jd290j2d",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        mailbox_id: "mailbox_asnsd209j2jd22",
        mailbox_email: "[email protected]",
        to: "contact_abcjsod20d20kd2",
        to_email: "[email protected]",
        subject: "Quick Question",
        text: "This is the text of the email",
        html: "<br>This is the HTML of the email<br>",
        uni_id: "CABssC8717987kjaWfj9YoiiH=z52FDe31w65XiHdTeXWk4fWBg@mail.gmail.com",
        created_at: 1654703617
    }

Reply Payload (reply)

This payload will fire when there is a new reply in any mailbox that is synced to Mailstand.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        msg: "msg_2er3g4rdwefrgfdf",
        cnv: "cnv_098h2dh209jd209j",
        type: "reply",
        workspace_id: "space_d2n0092jd290j2d",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        mailbox_id: "mailbox_asnsd209j2jd22",
        mailbox_email: "[email protected]",
  		  from: "contact_abcg123121212",
        from_email: "[email protected]",
        from_name: "John Smith",
        subject: "Re: Quick Question",
        text: "This is the text of the email",
        html: "<br>This is the HTML of the email<br>",
        uni_id: "CABssC8717987kjaWfj9YoiiH=z52FDe31w65XiHdTeXWk4fWBg@mail.gmail.com",
        created_at: 1654703617
}

Bounce Payload (bounce)

This payload will fire when there is a new email that has bounced.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        msg: "msg_2er3g4rdwefrgfdf",
        cnv: "cnv_098h2dh209jd209j",
        type: "bounce",
        workspace_id: "space_d2n0092jd290j2d",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        mailbox_id: "mailbox_asnsd209j2jd22",
        mailbox_email: "[email protected]",
        to: "contact_abcjsod20d20kd2",
        to_email: "[email protected]",
        subject: "Quick Question",
        text: "This is the text of the email",
        html: "<br>This is the HTML of the email<br>",
        uni_id: "CABssC8717987kjaWfj9YoiiH=z52FDe31w65XiHdTeXWk4fWBg@mail.gmail.com",
        created_at: 1654703617
    }

Open Payload (open)

This will fire every time an email is opened. If a contact opens an email more than once the webhook will fire more than once.

🚧

Note

Open tracking must be set "on" for the email/template in order for this to work.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        msg: "msg_2er3g4rdwefrgfdf",
        cnv: "cnv_098h2dh209jd209j",
        type: "open",
        workspace_id: "space_d2n0092jd290j2d",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        mailbox_id: "mailbox_asnsd209j2jd22",
        mailbox_email: "[email protected]",
       	to: "contact_abcjsod20d20kd2",
        to_email: "[email protected]",
        subject: "Quick Question",
        text: "This is the text of the email",
        html: "<br>This is the HTML of the email<br>",
        uni_id: "CABssC8717987kjaWfj9YoiiH=z52FDe31w65XiHdTeXWk4fWBg@mail.gmail.com",
        created_at: 1654703617
    }

Click Payload (click)

This will fire every time an email is clicked. If a contact clicks an email more than once the webhook will fire more than once.

🚧

Note

Click tracking must be set "on" for the email/template in order for this to work.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        msg: "msg_2er3g4rdwefrgfdf",
        cnv: "cnv_098h2dh209jd209j",
        type: "click",
        workspace_id: "space_d2n0092jd290j2d",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        mailbox_id: "mailbox_asnsd209j2jd22",
        mailbox_email: "[email protected]",
        to: "contact_abcjsod20d20kd2",
        to_email: "[email protected]",
        subject: "Quick Question",
        text: "This is the text of the email",
        html: "<br>This is the HTML of the email<br>",
        uni_id: "CABssC8717987kjaWfj9YoiiH=z52FDe31w65XiHdTeXWk4fWBg@mail.gmail.com",
        created_at: 1654703617
    }

Unsubscribe Payload (unsubscribe)

This will fire every time a contact unsubscribes from your email.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        msg: "msg_2er3g4rdwefrgfdf",
        cnv: "cnv_098h2dh209jd209j",
        type: "unsubscribe",
        workspace_id: "space_d2n0092jd290j2d",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        mailbox_id: "mailbox_asnsd209j2jd22",
        mailbox_email: "[email protected]",
        to: "contact_abcjsod20d20kd2",
        to_email: "[email protected]",
        subject: "Quick Question",
        text: "This is the text of the email",
        html: "<br>This is the HTML of the email<br>",
        uni_id: "CABssC8717987kjaWfj9YoiiH=z52FDe31w65XiHdTeXWk4fWBg@mail.gmail.com",
        created_at: 1654703617
    }

Stage Change Payload (stage_change)

This will fire anytime a contact changes their status. You can find a list of all stages here

📘

"Reviewing" -> "Unresponsive"

Note: This does not trigger when a contact goes from the "Reviewing" stage to the "Untouched" as this is a very common trigger and will virtually happen for every contact on your campaign.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        type: "stage_change",
        workspace_id: "space_d2n0092jd290j2d",
        contact_id: "contact_abcjsod20d20kd2",
        email: "[email protected]",
        new_stage_id: "stage_ds2wvg4543cv44v",
        new_stage_name: "Interested",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        created_at: 1654703617
    }

Pause Payload (pause)

This will fire anytime a contact is paused from outreach. This could be triggered from a manual pause within the platform or if there are rules set on your campaign that forces a user to pause. For example, if you set your settings to "stop outreach to this contact when someone replies" it will fire a pause hook when someone replies.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        type: "pause",
        workspace_id: "space_d2n0092jd290j2d",
        contact_id: "contact_abcjsod20d20kd2",
        email: "[email protected]",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        created_at: 1654703617
    }

Resume Payload (resume)

This will fire anytime a contact is restarted/resumed from outreach. This is typically triggered via the platform when a user restarts a paused contact in a campaign.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        type: "resume",
       	workspace_id: "space_d2n0092jd290j2d",
        contact_id: "contact_abcjsod20d20kd2",
        email: "[email protected]",
        campaign_id: "camp_pow0dj20jc20jkd2nx",
        campaign_name: "My First Campaign",
        created_at: 1654703617
    }

Delete Payload (delete)

This will fire anytime a contact is deleted.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        type: "delete",
        workspace_id: "space_d2n0092jd290j2d",
        contact_id: "contact_abcjsod20d20kd2",
        email: "[email protected]",
        created_at: 1654703617
    }

Added To Campaign (added_to_campaign)

This will trigger anytime a contact is added to a campaign.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        type: "added_to_campaign",
        contact_id: "contact_abcjsod20d20kd2",
        workspace_id: "space_d2n0092jd290j2d",
        contact_id: "contact_abcjsod20d20kd2",
        email: "[email protected]",
        created_at: 1654703617
}

Removed From Campaign (removed_from_campaign)

This will trigger anytime a user is removed from a campaign. This will not be called if the contact is deleted entirely. The delete payload will sent in it's place.

{
        id: "evt_sdn02n0d209dj2pk2d2d",
        type: "removed_from_campaign",
        contact_id: "contact_abcjsod20d20kd2",
        workspace_id: "space_d2n0092jd290j2d",
        contact_id: "contact_abcjsod20d20kd2",
        email: "[email protected]",
        created_at: 1654703617
}