Skip to main content
Salesforce
Updated over 3 months ago

Salesforce is a Customer Relationship Management (CRM) platform widely used by organizations to manage interactions with supporters, streamline sales processes, and coordinate marketing and content strategies.

Connecting Anedot (or other third-party platforms) to Salesforce can take approximately 1-3 months to set up, depending on the required configurations to achieve seamless data integration and performance. Customization and testing are necessary to ensure everything works as expected for your organization.

To facilitate a smooth setup and avoid affecting live data, Anedot requires organizations to use both Anedot and Salesforce Sandbox environments for testing and configuration.

To begin, please reach out to our Support team here. We will create an Anedot Sandbox account for your organization. Once you have successfully tested and validated your configuration in the Sandbox, we will enable Salesforce as an integration option for your account.


Setup Instructions

To ensure your connection from Anedot to Salesforce is successful, first verify that you have the Download AppExchange Packages permission enabled in your Salesforce profile.


Install the Anedot Package

To install the Anedot Package within Salesforce, follow the steps below:

  1. Within your internet browser, open a new tab and enter the following URL to access the Anedot Salesforce Package:

  2. Accessing the URL above will prompt you to log in. Use your Salesforce credentials to log in successfully.

  3. Once you have logged in, you will be redirected to the Package Installation Details page.

  4. Review the components of the package that will be installed.

  5. You will be asked to select the users you want to install the package for. Select Install for All Users.

  6. Click Install.

  7. You may be asked to approve third-party access. Check Yes, grant access to these third-party websites, then click Continue. Note: The third-party access you are allowing is to the Salesforce APEX API.

  8. The installation may take a few minutes to complete.

  9. Once the installation is complete, you will receive an email confirmation from Salesforce.

Once the Anedot Package has been installed successfully, continue set up the Anedot Package within Salesforce.


Anedot Package Setup

To set up the Anedot Package within Salesforce, follow the steps below:

  1. Open the App Launcher in Salesforce (the icon with boxes below your organization's logo).

  2. Next, select Anedot.

  3. Access the Anedot Settings tab.

  4. In the upper right corner of the window, click New to create your Anedot Settings record.

  5. Set your default here. These options will depend on your internal Salesforce usage. Be sure to select Opportunity Stage defaults.

  6. Click Create once you have set your defaults.

  7. On the Anedot Settings screen, copy the URL for webhook address. The sub-domain will be used to create a successful connection within Anedot. See step 6 in the next set of instructions.

You are now ready to return to Anedot to complete your connection from your Anedot fundraising account to Salesforce.


Connect Anedot to Salesforce

To connect Anedot to Salesforce, follow the steps below:

  1. Log in to Anedot.

  2. Once logged in, access the fundraising account you would like to connect to Salesforce.

  3. Within the main menu of your Anedot fundraising account, access the Settings>Integrations>Directory tab.

  4. Next, select the blue + New Connection button in the upper right corner of the page.

  5. Within the Integration Directory, select Salesforce from the list.

  6. Enter the Sub-Domain URL of your Salesforce instance. Example: If your instance is called anedot.my.salesforce.com, you would enter anedot. Do not include https:// in the sub-domain.

  7. Optionally, you may add a template for your Custom Field Mapping (Metadata). See further instructions here.

  8. Click Save.

  9. You will be redirected to log in to your Salesforce account.

  10. Once you have logged in successfully, you will be prompted to give Anedot access to specific permissions under the current user. Important: The user setting up the connection must have specific permissions in order for relays to pass successfully.

    1. Required Permissions - Full Read, Write, Edit permissions for the following objects:

      1. Contacts

      2. Opportunities

      3. Campaigns, Campaign Members

      4. GAU Allocations

      5. Accounts

  11. Once confirmed, you are all set!


Data Relays


Field Mapping

The Anedot Fields match the Submission's Raw Data and the Salesforce Fields match the Request Body relay.


Submissions

Anedot Field

Salesforce Field

"submission_created"

event

(Submission) id

id

email

email

phone

phone

title

title

suffix

suffix

referrer

referrer

utmCodes {term}

utm_term

paymentMethod {cardType}

card_type

-
(Donation) id
anedotFeeAmount (net amt in Donations -> Entries)
vendorFeeAmount (net amt in Donations -> Entries)
-
actionPagesFund {id}
actionPagesFund {name}
actionPagesFund {identifier}
-
netAmount (x100)
grossAmount (x100)
feesPaidByDonor ("true" or "false")

donations {
id
fees {anedot_fees{amount}
vendor_fees}
fund {
id
name
identifier }
product{
net_amount
gross_amount
fees_paid_by_donor }}

lastName

last_name

created_at

created_at

firstName

first_name

ipAddress

ip_address

occupation

occupation

(Product) id

product_id

updatedAt

updated_at

utmCodes {medium}

utm_medium

utmCodes {source}

utm_source

account {id}

account_uid

middleName

middle_name

sourceCode

source_code

utmCodes {content}

utm_content

account {name}

account_name

address {city}

address_city

Internal SKU (Product)

product_code

Product Name (Product)

product_name

utmCodes {campaign}

utm_campaign

employerName

employer_name

Product Value (in dollars - Product)

product_value

(Action Page) id

action_page_id

address {line1}

address_line_1

address {line2}

address_line_2

address {region}

address_region

address {country}

address_country

"paymentMethod {cardMonth} / paymentMethod {cardYear}"

card_expiration

donations {amount} (x100)

donation_amount

actionPage {name}

action_page_name

paymentMethod {lastDigits}

card_last_digits

donorProfileId

donor_profile_id

""

referrer_to_form

paymentRequests {responseTime}

created_at_iso8601

currentlyEmployed ("true" or "false")

currently_employed

updatedAt

updated_at_iso8601

address {postalCode}

address_postal_code

paymentMethod {type}

payment_method_type

customFieldResponses {multiple fields}

custom_field_responses

communicationsConsentEmail

communications_consent_email

communicationsConsentPhone

communications_consent_phone


Donation/Commitment

Anedot Field

Salesforce Field

"donation_created" or "commitment created"

event

created_at

date

"firstName lastName"

name

email

email

phone

phone

title

title

"hosted"

origin

paymentMethod {type}

source

"completed"

status

suffix

suffix

-
(Donation) id
anedotFeeAmount (net amt in Donations -> Entries)
vendorFeeAmount (net amt in Donations -> Entries)
-
actionPagesFund {id}
actionPagesFund {name}
actionPagesFund {identifier}
product {multiple fields}
paymentMethod {cardType}
paymentMethod {lastDigits}
""
"paymentMethod {cardMonth} / paymentMethod {cardYear}"

donations {
id
fees {anedot_fees{amount}
vendor_fees}
fund {
id
name
identifier }
product{}
card_type
card_last_digits
donation_project
credit_card_expiration}

referrer

referrer

frequency

frequency

lastName

last_name

recurring ("true" or "false")

recurring

created_at

created_at

firstName

first_name

ipAddress

ip_address

netAmount (x100)

net_amount

occupation

occupation

updatedAt

updated_at

account {id}

account_uid

middleName

middle_name

sourceCode

source_code

account {name}

account_name

address {city}

address_city

""

check_number

created_at

date_iso8601

grossAmount (x100)

event_amount

""

organization

employerName

employer_name

(Submission) id

submission_id

(Action Page) id

action_page_id

address {line1}

address_line_1

address {line2}

address_line_2

address {region}

address_region

(Commitment) id

commitment_uid

address {country}

address_country

actionPage {name}

action_page_name

"1"

commitment_index

donorProfileId

donor_profile_id

""

referrer_to_form

totalAmount (x100)

amount_in_dollars

donations {paymentMethodId}

payment_method_id

paymentRequests {responseTime}

created_at_iso8601

currentlyEmployed ("true" or "false")

currently_employed

updatedAt

updated_at_iso8601

address {postalCode}

address_postal_code

Transactions Side-drawer Payment Method

payment_description

customFieldResponses {multiple fields}

custom_field_responses

recurring ("true" or "false")

is_recurring_commitment

(Commitment) schedule_until

commitment_recurring_until

communicationsConsentEmail

communications_consent_email

communicationsConsentPhone

communications_consent_phone


Action Page Events

Anedot Field

Salesforce Field

"action_page_updated" or "action_page_created"

event

(Action Page) id

id

actionPage {name}

name

actionPagesFund {
id
name }
"100"

funds{
id
name
percentage }


Custom Field Created

Anedot Field

Salesforce Field

"custom_field_created"

event

(custom field) id

id

Field Label

label

Custom Field Type

input_type

Internal Name

internal_name


Custom Templates

Custom Templates are available to allow custom data points to be relayed from Anedot to Salesforce. Custom Templates can be used to rename Anedot fields, allowing the data to be relayed under the Salesforce field name (see example below), or to relay organization-specific data directly to the Custom Metadata fields set up within Salesforce.


Create a Custom Template

  1. Optionally, in step 7 of the Connect Anedot to Salesforce instructions, add new fields or updated field names to the Custom Template field.

    1. See example below:

      1. { 
        "close_date": "{{created_at}}",
        "donation_method": "CREDIT CARD",
        "action_page_id": "ANEDOT",
        "stage": "RECEIVED",
        "prefix": "{{title}}"
        }

      2. close_date - customer-specific Salesforce Custom Metadata field (payload.close_date in Salesforce), added to relay and maps to Anedot's created_at field value.

      3. donation_method - customer-specific Salesforce Custom Metadata field (payload.donation_method in Salesforce), added to relay with the default value “CREDIT CARD”.

      4. action_page_id - overrides Anedot's action_page_id field (payload.action_page_id in Salesforce) so that Salesforce defaults it to “ANEDOT”.

      5. stage - customer-specific Salesforce Custom Metadata field (payload.stage in Salesforce), added to relay so that Salesforce defaults the object stage to “RECEIVED”.

      6. prefix - customer-specific Salesforce Custom Metadata field (payload.prefix in Salesforce), added to relay and maps to Anedot’s title field value.

  2. In Salesforce, you will need to create a Custom Metadata type for each field in the template.

  3. Once Custom Metadata has been created, you will then need to setup custom Anedot Mapping in order to map each new Custom Metadata type to the corresponding Salesforce field. Continue below to learn more!


Anedot Mapping and Custom Metadata

Leverage Anedot Mapping and Custom Metadata to configure Anedot fields that are not part of the default mappings. This allows you to map Anedot fields to different Salesforce fields or enable your Salesforce instance to accommodate additional field mappings beyond the standard options provided by the Anedot integration.

Default Anedot Fields are available within Custom Metadata by default when the Anedot Package is downloaded during setup.

To map Anedot fields from the relay (payload) that are not included in the default mappings or to map them to different Salesforce fields, you will need to create an Anedot Mapping in the Anedot Salesforce application.

The Anedot Mapping tab allows you to map Anedot relay fields (available by Event Type) to specific Salesforce fields (available by Object Type).

Event Type: donation_completed, commitment_created, submission_created, action_page_created, and action_page_updated

Object Type: Contact, Opportunity, Recurring Donation, and Campaign Member

For Anedot fields available in the relay but not mappable, custom mapping must be set up to ensure Salesforce processes the data correctly, which is necessary for users of Custom Templates.


Default Anedot Fields

donation_completed

Available Field

Field Type

payload.account_name

text

payload.account_uid

text

payload.action_page_id

text

payload.action_page_name

text

payload.address_city

text

payload.address_country

text

payload.address_line_1

text

payload.address_line_2

text

payload.address_postal_code

text

payload.address_region

text

payload.amount_in_dollars

number

payload.commitment_uid

text

payload.communications_consent_email

boolean

payload.communications_consent_phone

boolean

payload.created_at

datetime

payload.created_at_iso8601

datetime

payload.currently_employed

boolean

payload.donation.credit_card_expiration

text

payload.donation.card_last_digits

number

payload.donation.card_type

text

payload.donor_profile_id

text

payload.email

email

payload.employer_name

text

payload.event_amount

number

payload.first_name

text

payload.ip_address

text

payload.is_recurring_commitment

boolean

payload.last_name

text

payload.middle_name

text

payload.net_amount

number

payload.occupation

text

payload.origin

text

payload.payment_method_id

text

payload.phone

phone

payload.recurring

boolean

payload.referrer

text

payload.referrer_to_form

text

payload.source_code

text

payload.submission_id

text

payload.suffix

text

payload.title

text

payload.updated_at

datetime

payload.updated_at_iso8601

datetime


commitment_created

Available Field

Field Type

payload.action_page_id

text

payload.action_page_name

text

payload.address_city

text

payload.address_country

text

payload.address_line_1

text

payload.address_line_2

text

payload.address_postal_code

text

payload.address_region

text

payload.cancellation_reason

text

payload.cancelled_on

datetime

payload.cancelled_on_iso8601

datetime

payload.communications_consent_email

boolean

payload.communications_consent_phone

boolean

payload.created_at

datetime

payload.created_at_iso8601

datetime

payload.currently_employed

boolean

payload.donor_profile_id

text

payload.email

email

payload.employer_name

text

payload.first_name

text

payload.frequency

text

payload.id

text

payload.ip_address

text

payload.last_name

text

payload.middle_name

text

payload.next_capture_on

datetime

payload.occupation

text

payload.payment_method_id

text

payload.payment_status_message

text

payload.phone

phone

payload.referrer

text

payload.referrer_to_form

text

payload.submission_id

text

payload.suffix

text

payload.token

text

payload.total_amount_in_dollars

text

payload.updated_at

datetime

payload.whodunnit

text


submission_created

Available Field

Field Type

payload.account_name

text

payload.account_uid

text

payload.action_page_id

text

payload.action_page_name

text

payload.address_city

text

payload.address_country

text

payload.address_line_1

text

payload.address_line_2

text

payload.address_postal_code

text

payload.address_region

text

payload.communications_consent_email

boolean

payload.communications_consent_phone

boolean

payload.created_at

datetime

payload.created_at_iso8601

datetime

payload.currently_employed

boolean

payload.donation_amount

number

payload.donation.card_type

text

payload.donation.credit_card_expiration

text

payload.donor_profile_id

text

payload.email

email

payload.employer_name

text

payload.first_name

text

payload.id

text

payload.ip_address

text

payload.last_name

text

payload.middle_name

text

payload.occupation

text

payload.payment_method_type

text

payload.phone

phone

payload.product_code

text

payload.product_id

text

payload.product_name

text

payload.product_value

text

payload.referrer

text

payload.referrer_to_form

text

payload.source_code

text

payload.suffix

text

payload.updated_at

datetime

payload.utm_campaign

text

payload.utm_content

text

payload.utm_medium

text

payload.utm_source

text

payload.utm_term

text


action_page_created and action_page_updated

Available Field

Field Type

payload.id

text

payload.name

text


Create Custom Metadata

To create and view Custom Metadata fields, follow the steps below:

  1. Use the following Salesforce instance path to access Custom Metadata: /lightning/setup/CustomMetadata/home.

  2. Next, select the Anedot Field label to access the Anedot Field page.

  3. Then select Manage Anedot Fields.

  4. Within the Anedot Field page, click New to add a new mapping.

  5. Use parameters that match the format from other fields. Below is a table with tips and examples for each required data field.

  6. Once all required fields are completed, click Save.

Field

Tips

Label

This is how the field will appear in the relay.

  1. For non-custom or *nested fields: payload.{field_name}

  2. For custom fields: payload.cf.{field_label} OR payload_cf_{field_label}.

    1. Enter the field label in all lowercase, using an underscore (_) to represent spaces.

    2. For hidden fields, use the internal_name entered within the Anedot Page Builder under the Form tab.

  3. For *nested fields: payload.{nested_object}.{field_name}

Anedot Field Name

This field is autofilled using the Label data. Periods (.) must be replaced with an underscore (_) for this field.

Data Type

This is the type of data being relayed.

  1. Text - fields with alphanumeric values (majority of Anedot fields).

  2. Number - fields with numeric values (e.g. amount).

  3. Boolean - fields with true/false values (e.g. communication consent fields)

  4. Email - fields with email value.

  5. Phone - fields with phone value.

  6. Date - fields with date value (does not support time)

  7. DateTime - fields with date and time value (used for Anedot date fields)

Event Type

the Anedot relay event where the field occurs (e.g. donation_completed)

Use a comma (,) to include multiple event types.

Path

This field must be exact.

  1. For non-custom fields (and *nested fields): must match the Label.

  2. For custom fields: must appear as it does in the relay.

    1. Example: payload.custom_field_responses.{field label}.

Example for Non-Custom, Non-Nested field:

Name field to be found in the donation_completed and submission_created events.

Label: payload.name 
Anedot Field Name: payload_name
Data Type: Text
Event Type: donation_completed, submission_created
Path: payload.name

Example for Custom Field:

Enter your T-shirt Size text custom field.

Label: payload.cf.enter_your_t-shirt_size
Anedot Field Name: payload_cf_enter_your_t_shirt_size
Data Type: Text
Event Type: donation_completed, submission_created
Path: payload.custom_field_responses.enter_your_t-shirt_size

Example for *Nested Field:

Anedot Fee field to be relayed in the donation_completed event.

Label: payload.donation.fees.anedot_fees.amount
Anedot Field Name: payload_donation_fees_anedot_fees_amount
Data Type: Text
Event Type: donation_completed
Path: payload.donation.fees.anedot_fees.amount

*Nested Fields are Anedot Fields in relays that are nested within the payload object. In the example below, Anedot Fees are typically nested in the donation object within the donation_completed payload:

"payload": {
"date": "2024-08-26 17:09:05 UTC",
"name": "Annie Dote",
"email": "[email protected]",
"phone": "12252501301",
"title": "",
"origin": "hosted",
"source": "credit_card",
"status": "completed",
"suffix": "",
"donation": {
"id": "dfbeacd89f69a860fca11",
"fees": {
"anedotFees": {
"amount": "0.46"
},
"vendorFees": []

Continue to the step below for further instructions on how to map Custom Metadata fields to the Salesforce Object within Anedot Mapping!


Set Up Anedot Mapping

Once the Custom Metadata field has been created, it needs to be mapped to a Salesforce Object field. To map the Custom Metadata field to a Salesforce Object, follow the steps below:

  1. Access Anedot Mapping within the Anedot App.

  2. Next, select the Salesforce Object you would like to map to from the Target dropdown available in the top right corner.

    1. Options: Contact, Opportunity, Recurring Donation, Campaign Member.

  3. Click Create New Field Mapping.

  4. Select the Event Type used in the Custom Metadata field.

  5. Under Attribute find the Path name for the field.

  6. Choose the Salesforce Field that should be populated from the Custom Metadata field.

  7. Click Save.

Example: The image provided below is an example of mapping payload.card_type to the Contact Description Salesforce field.


Anedot Settings

The chart is a list of the Anedot Settings we currently provide:

Anedot Setting Field

Options

Notes

Create GAU Allocation Records

Checkbox(default: checked)

When enabled, creates GAU (General Account Unit) Allocation Records.

Default Campaign Member Status*

Dropdown (default: Planned)

Status Campaign Members (page submitters) default to.

Donation Amount Field

Dropdown (default: Total Donation Amount)

Default amount used to track donations.

Integration Error Email Address

text input for email (default: Salesforce admin email).

Email that receives notices of errors with the integration.

Opportunity Closed-Won Stage*

Dropdown (default: Closed Won)

Default opportunity stage for successfully relayed submissions.

Opportunity Open Stage*

Dropdown (default:Prospecting)

Stage open opportunities (e.g. future opportunities for commitments) default to.

Update Contact Info from Anedot

Checkbox(default: checked)

Update existing contacts with Anedot data (based on email matching).

Default Campaign*

Campaign search field (default: none)

Relayed submissions (opportunities, contacts, etc) are linked to a default campaign instead of Action Page specific campaigns.

Default GAU*

General Account Units (GAU) search field (default: none)

Relayed donations are always linked to the same GAU (fund) instead of the Anedot/relayed fund.

Opportunity Closed-Lost Stage*

Closed Lost

Default opportunity stage for lost opportunities (used for future opportunities linked to canceled commitments).

Single Donation Record Type

Dropdown (default: NPSP Default)

Default record type for new relays.

URL for webhook

Instance-specific

Instance-specific URL, used for the Salesforce URL when configuring the Salesforce integration in Anedot.

Source Object

Dropdown (default: None)

Salesforce application we are mapping objects for (options - NPSP, Salesforce). For customers using NPSP, they should select NPSP; for those using Salesforce CRM, they should use Salesforce

* The above is based on a default NPSP instance (no customization). Some object-specific settings, such as Campaign Member Status or Opportunity Stages, will have different dropdown options depending on customizations set for the organization. Our default settings map to default NPSP/Salesforce fields (i.e. status, stage, etc) where it is available. If it is not available, it is up to the organization to map the settings appropriately.


Payload Examples

Request Headers

{
"User-Agent": "Anedot-Hookshot/00b1d64",
"X-Request-Id": "1c8927de-1e2f-1234-a8ea-babe5a588869",
"X-Integration-Id": "1125f2f7-7852-419d-9d3e-0c5895d65605",
"X-Integration-Event": "submission_created",
"X-Request-Signature": "123480d84c67a050316ec647416598259cea6f0934806a59bb0eb95bc288942f"
}


Submissions

{
"event": "submission_created",
"payload": {
"id": "7c7d869c-436b-429b-ac68-69658f1d12eb",
"email": "[email protected]",
"phone": "2252501301",
"title": "",
"suffix": "",
"referrer": "https://qa2.secure.anedot.com/space-force/d3b0000e-4bde-4474-9a85-67627c323752",
"utm_term": "",
"card_type": "master",
"donations": [{
"id": "d5ea20f9421b0fb55499c",
"fees": {
"anedot_fees": {
"amount": "4.30"
},
"vendor_fees": []
},
"fund": {
"id": "75bb50a0-69f3-4f98-8f6b-ac67fc1b1764",
"name": "General Fund",
"identifier": "1001"
},
"product": {},
"net_amount": "95.70",
"gross_amount": "100.0",
"fees_paid_by_donor": "false"
}],
"last_name": "Dote",
"created_at": "2023-05-22 21:28:27 UTC",
"first_name": "Anna",
"ip_address": "65.158.47.175",
"occupation": "Occupation 1",
"product_id": "",
"updated_at": "2023-05-22 21:28:28 UTC",
"utm_medium": "",
"utm_source": "",
"account_uid": "a7229820277fe1a0aeaec",
"middle_name": "",
"source_code": "",
"utm_content": "",
"account_name": "City Food Pantry",
"address_city": "New Orleans",
"product_code": "",
"product_name": "",
"utm_campaign": "",
"employer_name": "Occupation 1",
"product_value": "",
"action_page_id": "469627e5-adac-4348-8191-080a060e2379",
"address_line_1": "123 Anedot Way",
"address_line_2": "4567",
"address_region": "LA",
"address_country": "US",
"card_expiration": "12/2022",
"donation_amount": "$100.00",
"action_page_name": "General Fund",
"card_last_digits": "5454",
"donor_profile_id": "",
"referrer_to_form": "",
"created_at_iso8601": "2023-05-22T21:28:27Z",
"currently_employed": "false",
"updated_at_iso8601": "2023-05-22T21:28:28Z",
"address_postal_code": "99999",
"payment_method_type": "credit_card",
"custom_field_responses": {},
"communications_consent_email": "false",
"communications_consent_phone": "false"
}
}


Donations

{
"event": "donation_completed",
"payload": {
"date": "2023-05-22 21:28:28 UTC",
"name": "Anna Dote",
"email": "[email protected]",
"phone": "2252501301",
"title": "",
"origin": "hosted",
"source": "credit_card",
"status": "completed",
"suffix": "",
"donation": {
"id": "d5ea20f9421b0fb55499c",
"fees": {
"anedot_fees": {
"amount": "4.30"
},
"vendor_fees": []
},
"fund": {
"id": "75bb50a0-69f3-4f98-8f6b-ac67fc1b1764",
"name": "General Fund",
"identifier": "1001"
},
"products": [],
"card_type": "master",
"card_last_digits": "5454",
"donation_project": "",
"credit_card_expiration": "12/2023"
},
"referrer": "https://qa2.secure.anedot.com/space-force/d3b0000e-4bde-4474-9a85-67627c323752",
"frequency": "once",
"last_name": "Dote",
"recurring": "false",
"created_at": "2023-05-22 21:28:28 UTC",
"first_name": "Anna",
"ip_address": "65.158.47.175",
"net_amount": "95.70",
"occupation": "Occupation 1",
"updated_at": "2023-05-22 21:28:28 UTC",
"account_uid": "a7229820277fe1a0aeaec",
"middle_name": "",
"source_code": "",
"account_name": "City Food Pantry",
"address_city": "New Orleans",
"check_number": "",
"date_iso8601": "2023-05-22T21:28:28Z",
"event_amount": "100.00",
"employer_name": "Occupation 1",
"submission_id": "7c7d869c-436b-429b-ac68-69658f1d12eb",
"action_page_id": "469627e5-adac-4348-8191-080a060e2379",
"address_line_1": "123 Anedot Way",
"address_line_2": "4567",
"address_region": "LA",
"commitment_uid": "",
"address_country": "US",
"action_page_name": "General Fund",
"commitment_index": "",
"donor_profile_id": "",
"referrer_to_form": "",
"amount_in_dollars": "100.0",
"payment_method_id": "a024148f-786f-44b6-8ec4-6769fdc72061",
"created_at_iso8601": "2023-05-22T21:28:28Z",
"currently_employed": "false",
"updated_at_iso8601": "2023-05-22T21:28:28Z",
"address_postal_code": "9999",
"payment_description": "MasterCard •••• 5454",
"custom_field_responses": {},
"is_recurring_commitment": "false",
"commitment_recurring_until": "",
"communications_consent_email": "false",
"communications_consent_phone": "false"
}
}


Commitments

{
"event": "commitment_created",
"payload": {
"id": "31fb5453-00e6-47e9-a05b-f12311180706",
"email": "[email protected]",
"phone": "2252501301",
"title": "",
"token": "puxBmva9joKvANBs2mKbuvQB",
"suffix": "",
"referrer": "https://qa2.secure.anedot.com/space-force/cf250f54-6514-473d-90b5-4746f0ffa578",
"frequency": "monthly",
"last_name": "Dote",
"whodunnit": "",
"created_at": "2023-05-03 18:16:59 UTC",
"first_name": "Anna",
"ip_address": "65.80.57.175",
"occupation": "",
"updated_at": "2023-05-03 18:16:59 UTC",
"middle_name": "",
"address_city": "New Orleans",
"cancelled_on": "",
"employer_name": "",
"submission_id": "d81e62b3-81ca-4811-8889-41050e0430a5",
"action_page_id": "fe8031a0-b359-4cf1-ae3d-f25d7cc3eb2c",
"address_line_1": "123 Anedot Way",
"address_line_2": "",
"address_region": "LA",
"address_country": "US",
"next_capture_on": "2023-06-03 18:16:59 UTC",
"action_page_name": "General Fund",
"donor_profile_id": "848f9bbf-c553-4a6e-bf0c-7ad25800bbf0",
"fund_allocations": [{
"fund": {
"id": "75bb50a0-69f3-4f98-8f6b-ac67fc1b1764",
"name": "General Fund",
"identifier": "1001"
},
"amount_in_dollars": "50.0"
}],
"referrer_to_form": "",
"payment_method_id": "56d2dfcc-d7b2-46c0-b161-af1ee331f3bd",
"changed_attributes": {},
"created_at_iso8601": "2023-05-03T18:16:59Z",
"currently_employed": "true",
"updated_at_iso8601": "2023-05-03T18:16:59Z",
"address_postal_code": "99999",
"cancellation_reason": "",
"cancelled_on_iso8601": "",
"payment_status_message": "",
"total_amount_in_dollars": "50.0",
"communications_consent_email": "false",
"communications_consent_phone": "false"
}
}


Action Page Events

{
"event": "action_page_updated",
"payload": {
"id": "469627e5-adac-1234-8191-080a060e2379",
"name": "General Fund",
"funds": [{
"id": "75bb50a0-69f3-4f98-8f6b-ac67fc1b1764",
"name": "General Fund",
"percentage": 100
}]
}
}


Custom Field Created

{
"event": "custom_field_created",
"payload": {
"id": "fd9e7338-9b1b-45eb-8644-1fa8fd47d18a",
"label": "Would you like to subscribe to our newsletter?",
"input_type": "question",
"internal_name": "would_you_like_to_subscribe_to_our_newsletter_"
}
}


Failure

[{
"message": "INVALID_HEADER_TYPE",
"errorCode": "INVALID_AUTH_HEADER"
}]


Troubleshoot

If you receive Auth Failure responses in Anedot (see error below), you may need to review your Salesforce Login History to investigate the issue more closely.

{ "error": "Authentication failed, check username, password and security token" })

To review your Salesforce Login History, follow the steps below:

  1. Access Setup in Salesforce.

  2. In Quick Find, go to Users.

  3. Select Users.

  4. Access Salesforce Classic view.

  5. Under Users, access the Login History tab.

    1. If you see something like "Username-Password Flow Disabled" - you will need to "Allow OAuth Username-Password Flows".

    2. If you see "Password Lockout" - you will either need to wait until the lockout period is done OR reset your password.

If relays are not passing to Salesforce (but you see them as successful in Anedot), it may be related to a Storage Limit issue.

To verify if you are facing a Storage Limit issue, follow the steps below:

  1. Go to Setup in Salesforce

  2. In Quick Find, search Storage.

  3. Select Storage Usage.

  4. Review the Storage Usage. If it is above 60% and you are not receiving relays, this may be the cause. To resolve the issue, delete older records.

Did this answer your question?