Salesforce NPSP
Updated over a week ago

Anedot now offers a direct integration with Salesforce NPSP🎉! Salesforce is a Customer Relationship Management (CRM) platform, typically used by organizations to manage relationships with supporters, sales, marketing, and content.

Creating a connection between Anedot (or other third-party platforms) and Salesforce can take up to 1-3 months of configuration to ensure expected data relays and performance. Customization and testing will be necessary before connections function optimally for your organization. To ensure a smooth connection and configuration process without impacting live data in production accounts, Anedot requires each organization to test and configure in an Anedot and Salesforce Sandbox environment.

To get started, please contact our Support team here, and we will create an Anedot Sandbox account for your organization. After testing and confirming your configuration is successful in the Sandbox environment, we will enable Salesforce as an available integration for your account.

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


Setup Instructions

Install NPSP Package

To get started, you will need to install the Nonprofit Success Pack (NPSP) within your Salesforce account.

Note: If you already have the NPSP package installed, you can skip this step.

To install the Nonprofit Success Pack (NPSP) successfully, follow the steps below:

  1. Within your Salesforce account, navigate to the AppExchange.

  2. Use the Search Bar to search for Nonprofit Success Pack.

  3. Select Get It Now on the Nonprofit Success Pack listing.

  4. This will prompt you to log in to the AppExchange. Use your Salesforce credentials to log in successfully.

  5. Follow the prompts to install the NPSP package. Choose Install in Production or Install in Sandbox, depending on your needs.

  6. Select the users you want to install the NPSP for.

  7. Click Install.

  8. You may be asked to approve third-party access. Check Yes, grant access to these third-party website, then click Continue.

  9. The installation will begin. Once completed, you will receive an email confirmation from Salesforce.

Once you have received the confirmation that the installation is complete, continue to install the Anedot Package.


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).

  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. Recurring Donations (NPSP only)

      2. Contacts (NPSP, Classic Salesforce (Sales Cloud))

      3. Opportunities (NPSP, Classic Salesforce (Sales Cloud))

      4. Campaigns, Campaign Members (NPSP, Classic Salesforce (Sales Cloud))

      5. GAU Alloactions (NPSP, Classic Salesforce (Sales Cloud))

      6. Accounts (NPSP, Classic Salesforce (Sales Cloud))

  11. Once confirmed, you are all set!


Data Relays

  • Anedot relays data from Donation and Lead Pages to Salesforce.

  • Action Pages are transferred as Campaigns in Salesforce.

    • A default Campaign for all submissions can be set via Anedot Settings.

    • Example: If you are relaying data from multiple vendors (besides Anedot), you may want to configure all Anedot donations to relay to a specific "Anedot" campaign. Within Anedot Settings, you would set the Default Campaign field to "Anedot".

  • In NPSP, Anedot Funds are set up as GAU (General Accounting Units). By default, Anedot will create or modify GAUs for each new Fund that is relayed to Salesforce (per Action Page).

    • The creation of GAU records can be disabled, or a default GAU can be set for all donations via Anedot Settings.

    • Example: To set all Anedot donations to go to a specific Anedot - General Fund GAU record, you would set the Default GAU field in Anedot Settings to "Anedot - General Fund".

  • Contacts are added when Action Page submissions are made in Anedot. Donations are then linked to matching contact records by email or phone number (requires the Nonprofit Success Pack (NPSP))..

    • Contacts can also be found as "Campaign Members" for the corresponding Action Page ("Campaign").

    • Campaign Member default statuses can be set in Anedot Settings.

  • One-time Donations are logged as Closed-Won opportunities.

  • When Commitment Events are enabled in Anedot, Commitment Recurrences are logged as Recurring Donation objects and as open (future) Opportunities (Opportunity objects).

    Commitment updates (non-cancellations) will update as follows:

    • Updates to donor details update the Salesforce Contact record (if enabled via Anedot Settings).

    • Updates to the commitment details (e.g. amount, frequency) will update all remaining open (future) Opportunity and Recurring Donation records.

    • Cancelling/deactivating commitments will update all remaining open (future) Opportunity records as "Closed Lost" and "Close" all Recurring Donations Records.

    • If a commitment expires (cancellation reason is schedule) and/or the commitment end date is relayed, the Recurring Donation is marked as "fixed" (the Open Ended Status field is set to None).

  • When Commitment Events are NOT enabled in Anedot, Commitment Recurrences are logged as Opportunity objects (similar to one-time donations).

    • Commitment Recurrences are not linked to other Opportunity objects (e.g. future opportunities, or in any way link to the originating donations or other recurrences).

    • Recurring Donation object is created for the donation.

  • Submissions are linked to matching Contact records by email (or NPSP settings). Requires the Non-Profit Success Pack.

  • "Reversed" transactions are logged as "Anedot Donation Exceptions".

    • If a JSON Payload is received with any of the following "Event" labels, a record of the object Anedot_Donation_Exception_c is created with the field mapping in the table below:
      - commitment_failed_to_process
      - donation_chargeback_reversed
      - donation_partially_refunded
      - donation_refunded
      - donation_voided

    • Each Event can be found in the Anedot Donation Exceptions ab of the Anedot app in Salesforce. Each message lists the Event, the reversal amount, and a link to the corresponding Opportunity in Salesforce (if available).

    • The corresponding Opportunity will also show linked exceptions under the "Related" > "Anedot Donation Exceptions" area.

    • Anedot does not default Opportunities with exceptions to any stage (e.g. if a donation is voided, mark the corresponding Opportunity as Closed-Lost) since the desired stage may be different for each customer/Salesforce instance. If needed, this can be set up with custom mapping in Salesforce.

  • Custom Anedot Mapping is required to relay Gift of Any Amount products. This can be done using the product fields from submission_created event.


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

??

id

Field Label

label

Custom Field Type

input_type

Internal Name

internal_name


Custom Metadata

Custom Metadata can be set up to allow the Salesforce instance to accept additional field mappings (beyond the default fields) from the Anedot integration.

Custom Metadata setup can be accessed at the following Salesforce instance path: /lightning/setup/CustomMetadata/home.

Custom Metadata Instructions

To setup Custom Metadata to pass additional fields from Anedot to Salesforce, follow the steps below:

  1. Select the Anedot Field label to access the Anedot Field page.

  2. Then select Manage Anedot Fields.

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

  4. Use parameters that match the format from other fields.

Continue to the guide below for further instructions on how to map Custom Metadata fields to Salesforce Object fields!


Anedot Mapping

Within the Salesforce Anedot App, Custom Metadata fields can be mapped to Salesforce Object fields.

Follow the steps below to map fields within the Salesforce Anedot App:

  1. Click Anedot Mapping in the Anedot App.

  2. Next, click Create New Field Mapping.

  3. Select the Events used in the Custom Metadata field.

  4. Under Attribute find "payload_name" (or whichever field name was added).

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

  6. Click Save.

Example: The image provided in this guide is an example of adding 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"
}

Request Body (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_"
}
}

Response Body (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.

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

  7. 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?