All webhooks share the following:
- All webhooks provide data in a JSON format
- All webhooks are sent using the HTTP
POST
method
- All
href
properties link to resource details in GetResponse APIv3
- All IDs can be used with GetResponse APIv3
- Each payload contains the following fields:
type
- event type
account
- information about the account
event
- information about the event
Each request will have the following headers:
Content-Type: application/json
X-Webhook-Type: contact_removed_link
X-Webhook-ID: 9b287712-80b9-4aba-ad5e-df31929dad75
X-Request-ID: cf3c768a-3465-4a6d-9ad9-ddae2705f526
|
Content-Type - Information about content type application/json
X-Webhook-Type - Type of event. Same as type field from the payload
X-Webhook-ID - UUID of webhook (unique per event, same for first request and retries)
X-Request-ID - UUID of request (unique per request)
|
Webhook types
Message opened
Get notified every time a contact opens an email
Payload example |
Description |
{
"type": "contact_opened_message",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"message": {
"resourceType": "autoresponders",
"resourceId": "cde345",
"name": "my_first_newsletter",
"subject": "My First Newsletter",
"href": "https://api.getresponse.com/v3/autoresponders/cde345"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
|
Link clicked
Get notified every time a contact clicks a link in an email
Payload example |
Description |
{
"type": "contact_clicked_message_link",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"message": {
"resourceType": "autoresponders",
"resourceId": "cde345",
"name": "my_first_newsletter",
"subject": "My First Newsletter",
"href": "https://api.getresponse.com/v3/autoresponders/cde345"
},
"clickTrack": {
"clickTrackId": "xyz789",
"name": "Some link",
"url": "http://example.com",
"href": "https://api.getresponse.com/v3/click-tracks/xyz789"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_clicked_message_link
contact - Contact who clicked on the message link
contactId - Contact ID
email - Contact email address
name - Name of the contact nullable
campaign - Campaign (List) a contact is in
campaignId - Campaign (list) ID
name - Campaign (list) name
href - Link to campaign (list) details
href - Link to contact details
message - Message (Newsletter, Autoresponder, or RSS Newsletter) that contains the link clicked
resourceType - Type of the message (autoresponders , newsletters , rssNewsletters )
resourceId - ID of the message
name - Name of the message
subject - Subject of the message
href - Link to the message details
clickTrack - Clicked link
clickTrackId - ID of the link
name - Name of the link
url - URL of the link
href - Link to the details of the link clicked
account - Information about the account
event
|
SMS link clickedGetResponse MAXAdd-on required
Get notified every time a contact clicks a link in a text message (SMS)
Payload example |
Description |
{
"type": "contact_clicked_sms_link",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"phoneNumber": {
"customFieldId": "exdqz",
"href": "https://api.getresponse.com/v3/custom-fields/exdqz"
},
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"sms": {
"smsId": "cde345",
"name": "my_first_sms",
"href": "https://api.getresponse.com/v3/sms/cde345"
},
"clickTrack": {
"clickTrackId": "xyz789",
"name": "Some link",
"url": "http://example.com",
"href": "https://api.getresponse.com/v3/click-tracks/xyz789"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_clicked_sms_link
contact - Contact who clicked a link in an SMS
contactId - Contact ID
email - Contact email address
name - Name of the contact nullable
campaign - Campaign (List) a contact is in
campaignId - Campaign (list) ID
name - Campaign (list) name
href - Link to campaign (list) details
phoneNumber - Contact phone number custom field
customFieldId - Phone custom field ID
href - Link to phone custom field
href - Link to contact details
sms - SMS (SMS) that contains the link clicked
smsId - ID of the SMS
name - Name of the SMS
href - Link to the SMS details
clickTrack - Clicked link
clickTrackId - ID of the link
name - Name of the link
url - URL of the link
href - Link to the details of the link clicked
account - Information about the account
event
|
Get notified when a contact is added. This event is NOT triggered by imports.
Payload example |
Description |
{
"type": "contact_added",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"ip": "1.2.3.4",
"origin": "api",
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_added
contact - Contact added
contactId - ID of added contact
email - Email address of added contact
name - Name of added contact nullable
campaign - Campaign (List) the contact is added to
campaignId - ID of campaign (list) the contact is added to
name - Name of campaign (list) the contact is added to
href - Link to campaign (list) details
ip - Contact's IP, if provided nullable
origin - How contact was added
href - Link to contact details
account - Information about the account the contact is added to
event
|
Get notified when a contact is copied.
Payload example |
Description |
{
"type": "contact_copied",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"campaignName": "my new campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"sourceCampaign": {
"campaignId": "mnb321",
"campaignName": "my source campaign",
"href": "https://api.getresponse.com/v3/campaigns/mnb321"
}
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_copied
contact - Contact copied
contactId - New contact ID
email - New contact email address
name - New contact name nullable
campaign - Campaign (List) the contact is copied to
campaignId - ID of the campaign (list) the contact is copied to
campaignName - Name of the campaign (list) the contact is copied to
href - Link to the campaign (list) details
sourceCampaign - Campaign (List) the contact is copied from
campaignId - ID of the campaign (list) the contact is copied from
campaignName - Name of the campaign (list) the contact is copied from
href - Link to the campaign (list) details
href - Link to contact details
account - Information about the account the contact is added to
event
|
Get notified when a contact is moved.
Payload example |
Description |
{
"type": "contact_moved",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"campaignName": "my new campaign name",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
},
"sourceCampaign": {
"campaignId": "mnb321",
"campaignName": "my previous campaign name",
"href": "https://api.getresponse.com/v3/campaigns/mnb321"
}
"href": "https://api.getresponse.com/v3/contacts/abc123"
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_moved
contact - Contact moved
contactId - Contact ID
email - Contact email address
name - Contact name nullable
campaign - Campaign (List) the contact is moved to
campaignId - ID of the campaign (list) the contact is moved to
campaignName - Name of the campaign (list) the contact is moved to
href - Link to the campaign (list) details
sourceCampaign - Campaign (List) the contact is moved from
campaignId - ID of the campaign (list) the contact is moved from
campaignName - Name of the campaign (list) the contact is moved from
href - Link to the campaign (list) details
href - Link to contact details
account - Information about the account the contact is added to
event
|
Get notified whenever a contact unsubscribes via unsubscribe link
Payload example |
Description |
{
"type": "contact_removed_link",
"contact": {
"contactId": "abc123",
"email": "example@example.com",
"name": "Friend",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
}
},
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_removed_link
contact - Unsubscribed contact
contactId - ID of the contact
email - Email address of the contact
name - Name of the contact nullable
campaign - Campaign (List) a contact unsubscribed from
campaignId - ID of campaign (list) the contact unsubscribed from
name - Name of campaign (list) the contact unsubscribed from
href - Link to campaign (list) details
account - Information about the account
event
|
Custom field value changed
Get notified whenever an existing contact has a custom field assigned, unassigned, or updated.
Please remember that the webhook is not triggered by:
- Assigning a custom field when adding a new contact via any method.
- Updating custom fields values via contact imports.
-
Payload example |
Description |
{
"type": "contact_custom_field_changed",
"contact": {
"contactId": "abc123",
"href": "https://api.getresponse.com/v3/contacts/abc123"
}, "customField": { "customFieldId": "cfv123", "href": "https://api.getresponse.com/v3/custom-fields/cfv123", "action": "changed", "addedValues": ["cat", "dog"], "removedValues": ["rabbit"] },
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2021-04-27T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_custom_field_changed
contact - contact details
contactId - ID of the contact
href - Link to contact details
customField - Custom field details
customFieldId - Custom field ID
href - Link to custom field details
action - Change type. Possible changes are: added|changed|removed
addedValues - Array with new custom field values
removedValues - Array with removed custom field values
account - Information about the account
event
|
Case study
- The multivalue custom field "pets" is assigned to a contact. The initial state of the custom field is: ["rabbit", "hamster"]
- A webhook with the following values will be triggered:
action: added
addedValues: ["rabbit", "hamster"]
removedValues: []
- Your contact has changed the value for the custom field “pets”. The value "rabbit" is removed and two new values are provided: "cat" and "dog".
- A webhook with the following values will be triggered:
action: changed
addedValues: ["cat", "dog"]
removedValues: ["rabbit"]
- Your contact has removed the custom field "pets".
- A webhook is triggered without custom field values. It looks as follows:
action: removed
addedValues: []
removedValues: []
Get notified when a contact's email address has changed.
Payload example |
Description |
{
"type": "contact_email_changed",
"contacts": [
{
"contactId": "abc123",
"email": "sample@email.com",
"href": "https://api.getresponse.com/v3/contacts/abc123",
"campaign": {
"campaignId": "bcd234",
"name": "my_first_campaign",
"href": "https://api.getresponse.com/v3/campaigns/bcd234"
}
},
{
"contactId": "def456",
"email": "sample@email.com",
"href": "https://api.getresponse.com/v3/contacts/def456",
"campaign": {
"campaignId": "efg345",
"name": "my_second_campaign",
"href": "https://api.getresponse.com/v3/campaigns/efg345"
}
}
],
"account": {
"accountId": "def456"
},
"event": {
"occurredAt": "2023-07-13T12:56:00+00:00"
}
}
|
type - Webhook event type - contact_email_changed
contacts - List of contacts whose emails were changed
contactId - Contact ID
email - New email address
href - Go to Contact details
campaign - Campaign (List)
campaignId - Campaign (list) ID
name - Campaign (list) name
href - Link to the campaign (list) details
account - Information about the account the contact is added to
event
|
Receive a notification when a contact import is complete, and receive information about the status (success/failure) of the import.
Payload example |
Description |
{
"type": "contacts_import_finished",
"status": "OK",
"account": {
"accountId": "def456"
}, "import": {
"importId": "abc456", "href": "https://api.getresponse.com/v3/imports/abc456"
}
}
|
type - Webhook event type - contacts_import_finished
account - Information about the account
status - Import status - [ok, failed]
import - Information about the import
importId - Import ID
href - link to import details
|