Mapp Empower (Paramount, BlueHornet, Vervemail)
Connect Anedot to Mapp Empower (formerly BlueHornet and Vervemail) to automatically sync donation and lead data, configure API credentials and static segment IDs, and manage subscriber lists through XML-based data relays.
Mapp Empower is an email marketing platform designed for consulting firms and digital agencies. Anedot integrates with Mapp Empower to send donation and lead data directly into your Empower account, allowing new donors to be added as subscribers and optionally assigned to static segment lists.
Table of Contents
Mapp Empower Configuration
Before connecting Anedot, complete the following setup in your Mapp Empower / BlueHornet / Paramount account:
-
Create an API Key
-
Ensure it has permission for the
legacy.manage_subscriber
method. -
All other permissions can be disabled.
-
-
Allow IP Addresses
Add the following IP addresses in your Mapp settings:35.166.21.122
52.13.182.211
52.34.142.108
52.34.61.183
52.35.175.58 -
Locate and Save API Credentials
-
After generating your API Key, copy both the API Key and Shared Secret.
-
These will be entered into Anedot later.
-
-
Find Static Segment ID(s) (Optional)
-
Navigate to Segmentation > Static Segments > Manage Static Segments.
-
Locate the Segment ID(s) you want donors to be subscribed to.
-
You may add multiple segment IDs (comma-separated) during setup in Anedot.
If no Segment ID is specified, donors will be added as contacts but not assigned to a specific list.
-
Connecting Anedot to Mapp Empower
-
In your Anedot account, go to Settings > Integrations > Directory.
-
Click + New Connection and select Mapp Empower.
-
Choose the Action Pages you want to sync (default is all).
-
To exclude pages, enter their Action Page IDs as a comma-separated list.
-
-
(Optional) Limit the sync to a specific Team.
-
Enter your Mapp Empower API Key and Shared Secret.
-
(Optional) Enter one or more Static Segment IDs (comma-separated) to assign donors to lists.
-
Click Save to complete the integration.
You can modify synced pages, team scope, and credentials at any time.
Data Relays
-
Relays are sent for both financial and non-financial Action Pages.
-
Data is sent in XML format, so request body content will not appear in the Anedot Integrations Request View.
A JSON-formatted sample is available under Developer Notes.
-
Push Unsent Support:
-
Allows failed or historical donations to be re-sent using a date range.
- After 5 failed relay attempts, the integration is marked inactive and stops attempting relays.
-
Field Mapping
Anedot Field | MAPP Empower Property |
---|---|
“legacy.manage_subscriber” | methodName |
firstName | firstname |
lastName | lastname |
address {line1} | address |
address {city} | city |
address {region} | state |
address {postal_code} | zip |
address {country} | country |
phone | phone_hm |
segment_id (from Mapp Empower) | grp |
* | custval000000* |
*custval______ data corresponds to last_donation_amount and last_donation_date, which are stored in MappEmpower as either the last historical donation (if lead) or the current one (if donation).
- The digits appended to “custval” are the MappEmpower ids for those fields.
last_donation_amount
and last_donation_date
. These IDs are then used to properly attribute each property in MappEmpower.- Each ID corresponds to a unique custom field in MappEmpower, of which an account has only one each.
- Going forward, these IDs are stored in the integration, rather than the specific donation data (amount and date).
Payload Data
Request Headers
{ }
Request Body
Sent in XML - shows no text in Integrations Request body:
{ }
Converted Request Body
Here is the request body converted from XML to JSON:
{“data”=><br></br>
{“methodCall”=><br></br>
{“methodName”=>“legacy.manage_subscriber”,<br></br>
“email”=>"[[email protected]](/cdn-cgi/l/email-protection)",<br></br>
“firstname”=>“Annie”,<br></br>
“lastname”=>“Dot”,<br></br>
“address”=>“123 Test Road”,<br></br>
“city”=>“New Orleans”,<br></br>
“state”=>“LA”,<br></br>
“postal_code”=>“70112”,<br></br>
“country”=>“US”,<br></br>
“phone_hm”=>“2015551234”,<br></br>
“grp”=>“765432”,<br></br>
“custval123456”=>“200.00”,<br></br>
“custval123455”=>“2021-02-11”}
Response Body (Success)
{
"methodResponse": {
"item": {
"methodName": "legacy.manage_subscriber",
"responseNum": "1",
"responseCode": "200",
"responseData": `{`
"status": "2",
"message": "User has been updated"
}
}
}
}
Response Body (Failure)
"<html>\r\n<head><title>502 Bad Gateway</title></head>\r\n<body>\r\n<center><h1>502 Bad Gateway</h1></center>\r\n</body>\r\n</html>\r\n"
Response Body (Error)
{
"methodResponse": {
"item": {
"error": "1",
"responseNum": "1",
"responseData": `{`
"responseCode": "445"
},
"responseText": "Could not authenticate",
"totalRequests": "1",
"totalCompleted": "0"
}
}
}
Response Status (Success)
200
Response Status (Failure)
502
Response Status (Error)
null