Is this article for you? It covers services only available to Give Lively member nonprofits.
Is this article for you? It covers Salesforce integration services only available to Give Lively member nonprofits.

See our Salesforce integration logic and fields, app versions 1.3 and later

An overview of how our updated Salesforce integration (version 1.3) is built.

No items found.

Before You Get Started

This information applies to the updated version of our integration app. For the integration logic and fields of our older integration, go here.

If needed, here are instructions on how to install the app and update settings for the new version.

Video Overview

Walkthrough

Sync donations

  1. Get a list of all donations associated with the nonprofit in the Give Lively platform.
  2. For each donation, check whether a Salesforce ID has already been recorded. If so, skip. If not, perform the following actions:
  3. Query the Salesforce API to get a list of all Salesforce “Opportunity” object fields for the given nonprofit Salesforce org.
  4. Check for the presence of the Opportunity-level npsp__Acknowledgment_Date__c field, to determine whether the org has NPSP (Nonprofit Success Pack) installed.
  5. Parse out donor email addresses.
  6. Query the nonprofit Salesforce org to check whether each given email address is already present in the org.
    1. If NPSP is not installed, attempt to match against Contact Email only.
    2. If NPSP is installed, match against Contact Email, Personal Email, Work Email, and Alternate Email.
      1. If multiple matches are found, choose the match with the higher Total Number of Gifts value.
      2. If there is a tie, then choose the contact with a populated mailing address.
      3. If there is another tie, then choose the most recently updated contact record.
  7. If a match is found, retrieve the Salesforce Contact ID to associate the donation(s).
  8. If no match is found, then create a new Contact with the following fields:
    1. Email
    2. FirstName
    3. LastName
    4. Phone (if donation was made via Text-to-Donate or Event Ticketing)
    5. LeadSource: "Give Lively"
    6. MailingPostalCode
    7. MailingCountry
    8. MailingAddress (if provided by donor)
    9. MailingStreet
    10. MailingCity
    11. MailingState
    12. give_lively__User_ID__c
    Note: Give Lively's integration does not create Account records while creating Contact records, as the Nonprofit Success Pack is designed to handle this process automatically.
  9. Create an Opportunity record with the following fields:
    1. Account
    2. Name: <donor_name> - $<donation_amount> - <recurring_or_one_time> <product_type>
    3. CloseDate
    4. StageName:"Posted"
    5. Probability: 100
    6. LeadSource: "Give Lively"
    7. Type: <"Recurring" or "One-Time">
      1. this data can be mapped to a picklist field of your choosing
    8. If NPSP is installed, also sync:
      1. npsp__Acknowledgment_Date__c
      2. npsp__Acknowledgment_Status__c: "Acknowledged"
    9. CampaignId: sf_campaign_id or null
      1. If Donation was made through a Give Lively Campaign, and the Give Lively Campaign was already synced to Salesforce, then we retrieve the SF Campaign Id of the synced Campaign and insert it here.
    10. give_lively__Donation_Id__c
    11. give_lively__Net_Amount__c
    12. give_lively__Payment_Platform_Transaction_Fee__c
    13. give_lively__Referrer_Url__c
    14. give_lively__Text_Code_Used__c
    15. give_lively__Widget_Type__c
    16. give_lively__Wideget_Url__c
    17. give_lively__Page_Type__c
    18. give_lively__Page_Url__c
    19. give_lively__Page_Slug__c
    20. give_lively__Utm_Source__c
    21. give_lively__Client_Application_Name__c
    22. give_lively__Event_Id__c
    23. give_lively__Campaign_Id__c
    24. give_lively__Anonymous_to_Public__c
    25. give_lively__Transaction_Fee_Covered_By_Donor__c
    26. npsp__Notification_Preference__c
    27. npsp__Honoree_Name__c
    28. npsp__Tribute_Type__c
  10. If there is a sf_campaign_id and a sf_contact_id, then create CampaignMember with the following fields:
    1. ContactID
    2. CampaignID
  11. If NPSP is installed, check to see whether Payment record was automatically created by querying Nonprofit SF Instance (using "npe01__OppPayment__c") and npe01__opportunity__c = sf_opportunity_id
    1. Find the first payment, ignore any others
    2. Update the payment (npe01__OppPayment__c) with the following fields:
      1. Id: sf_payment_id
      2. npe01__Paid__c:1
      3. npe01__Payment_Date__c
      4. npsp__Payment_Acknowledged_Date__
      5. npsp__Payment_Acknowledgment_Status__c:'Acknowledged'
      6. npe01__Check_Reference_Number__c
  12. If NPSP is installed, skip creation of OpportunityContactRole. If not, create OpportunityContactRole with the following fields:
    1. ContactID
    2. OpportunityID
  13. Save SF record using REST API and save sf_opportunity_id in GL Platform record.

Sync campaigns 

  1. Find all campaigns for the given nonprofit on the Give Lively platform.
  2. Check if sf_campaign_id already exists on the Give Lively platform for the campaign record. If so, skip. If not, do the following:
  3. Create a Campaign record in Salesforce with the following fields:
    1. Name: (truncated to 80 characters)
    2. give_lively__Campaign_Id__c
    3. IsActive: True
    4. Type: "Give Lively"
    5. Status: "In Progress"
    6. ExpectedRevenue:
      1. If Campaign has a Goal in the GL Platform, insert goal amount here.
    7. Description
    8. give_lively__Campaign_Url__c
    9. give_lively__Text_Code__c
  4. Save Salesforce record using REST API and save sf_campaign_id in Give Lively Platform record.

* At this time, our integration maps donations to unique Salesforce campaigns created via sync. We do not currently allow changing this mapping (for example, to another campaign in your Salesforce instance), but this is planned for a future release.

Sync events

Event ticket tiers do not sync into Salesforce with our legacy 1.1 app version, but do sync with this updated version.

  1. Find all events for the given nonprofit on the Give Lively platform.
  2. Check if sf_campaign_id already exists on the Give Lively platform for the event. If so, skip. If not, do the following:
  3. Create a Campaign record in Salesforce with the following fields:
    1. Name: <Event - event_name>
    2. IsActive:1
    3. ParentId: <sf_campaign_id for campaign this event rolls up to in the Give Lively Platform>
    4. give_lively__Event_Id__c
    5. Type: "Give Lively"
    6. Status:"In Progress"
    7. Description
    8. give_lively__Campaign_Url__c
  4. Ticket Tier:
    1. give_lively__Amount_Tax_Deductible__c
    2. give_lively__Campaign__c
    3. give_lively__Description__c
    4. give_lively__Start_Availability__c
    5. give_lively__End_Availability__c
    6. give_lively__Price__c
    7. give_lively__Product_Type__c
    8. give_lively__Seats_per_Ticket__c
    9. give_lively__Tier_Title__c
    10. give_lively__Total_Available_Tickets__c
    11. Name
  5. Ticket Purchase:
    1. give_lively__Date_of_Purchase__c
    2. give_lively__Opportunity__c
    3. give_lively__Price__c
    4. give_lively__Ticket_Tier__c
    5. Name
  6. Save Salesforce record using REST API and save sf_campaign_id in Give Lively Platform record.


Downloads

Get Inspired

No items found.