<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=2191750074375425&amp;ev=PageView&amp;noscript=1">
Skip to content
  • There are no suggestions because the search field is empty.

Little Green Light Integration

You can sync your donors and donations to your LGL event and campaigns

Overview

 

Connect to your LGL account

Follow these steps to go to your Little Green Light setup screen:

  1. Click Settings on your top navbar to go to settings
  2. Click the Integrations tab on the left menu
  3. Click available integrations tab, and search for little green light
  4. Select Little Green Light

Now follow instructions to establish a connection to your Little Green Light account. 

1) Get an API Key from Little Green Light

a) Login to your Little Green Light account.
b) Go to "Settings" and click the "Integration Settings" tab
c) Locate the "LGL API" link on the left menu
d) Click the option to Create an API Access Token
e) Copy the "API Access Token" and paste it below
 

2) Enter the API Key in the textbox provided on the set up screen

Once this connection is established, your BetterUnite account will be able to communicate with your LGL account and you'll be able to send donor and donation records to your LGL account.

Sync Data

The first step before syncing your transactions to LGL is to map your campaigns and events in BetterUnite to their corresponding campaigns and events in LGL. This ensures that when the data is transferred, it will be directed to the exact location you need.

Once you have mapped the destination locations, and save the mapping, you will see the "sync" option on each mapped campaign row.

Click the "Sync" button and you will see all transactions within this BetterUnite campaign/event displayed for you to sync to LGL.

Note the various options below. The blue "Sync" button will appear on each transaction that can be sync'ed.  The green status button and the corresponding LGL gift id will be displayed on each transaction that was previously sync'ed.

 

Additional Options

Below are some additional options you can consider as you work through integrations over time.

Do not Sync

You can mark any transaction as "Do not sync" to mark them as not syncable. These may address scenarios where you may already have the information in LGL, or you just prefer not to sync this particular transaction based on it's attributes.

Reset Sync Status

If you need to re-sync a transaction, you can reset it's sync status and enable the sync option again

Filter Transactions and Exclusions

Note the date filters and status filters highlighted below, as well as the ability to mark $0 transactions as non-sync status in bulk.

When syncing donations (and donors) to Little Green Light from BetterUnite, the following fields are mapped:

Donor → LGL Constituent

When a donation is synced and the donor doesn't yet exist in LGL (no match by email or name), a new constituent is created with these fields.

BETTERUNITE CONTACT LGL CONSTITUENT NOTES
First Name first_name  
Last Name last_name  
Middle Name middle_name  
Donor Type is_org true if DonorType ≠ Individual
Company Name org_name Used when donor is an org
Employer org_name Used when donor is an individual
Job Title job_title  
Spouse Full Name spouse_name  
Is Anonymous is_anon  
Email Address1 email_addresses[0] Only if non-empty
Address Line1 + Address Line2 street_addresses[0].street Only if AddressFormatted is non-empty
Address City street_addresses[0].city  
Address State street_addresses[0].state  
Address ZipCode street_addresses[0].postal_code  
Address Type street_addresses[0].street_type_name Enum to string

After creation: The LGL constituent ID is saved back to Contact.LGL_ID in BetterUnite.Donation → LGL Gift

Each donation creates a gift record under the matched or newly created LGL constituent.

BETTERUNITE DONATION LGL GIFT NOTES
lglContact.Id constituent_id Resolved constituent — always required
Intended Donation Amount received_amount Effective amount (gross minus refunds)
Donation Date received_date  
Deductible Amount deductible_amount  
Reference Number check_number Only when PaymentType is Check; empty string otherwise
(constructed) note Includes campaign name, ref number, and purchased items
Campaign.LGL_CAMPAIGNID campaign_id From campaign mapping
Campaign.LGL_EVENTID event_id From campaign mapping
Campaign.LGL_APPEALID appeal_id From campaign mapping
Campaign.LGL_FUNDID fund_id From campaign mapping
(hardcoded 1) gift_type_id Always "Gift" — InKind not yet supported

Note format: "Payment from BetterUnite Campaign: {name}, Check/Ref #{ref}. Purchase Details: {item1}; {item2} (qty)"

Contact Matching Logic

During Donation Sync (BU → LGL)

STEP 1

Check if Contact already has LGL_ID

STEP 2

Search LGL by email address→

STEP 3

Fall back to name search→

STEP 4

Create new constituent if no match

If multiple partial matches are found, the user is prompted to select the correct one or create a new contact.

 

Import Contacts from LGL

This function will allow you to import in bulk all of your LGL contacts into your BetterUnite account.

 

When importing contacts from Little Green Light into BetterUnite, the following fields are mapped:

Contact Identity

LGL Field

BetterUnite Field

Notes

id

LGL_ID

LGL's unique constituent ID, stored for sync tracking

first_name

First Name

 

last_name

Last Name

 

is_org

Donor Type

If trueOrganization; if falseIndividual

is_anon

Is Anonymous

Anonymous donor flag

 

 

 

 

 

 

Email

LGL Field

BetterUnite Field

Notes

EmailCalculated (primary email)

Email Address 1

Derived from LGL's email addresses list (primary)

Email2Calculated (secondary email)

Email Address 2

Derived from LGL's email addresses list (secondary)

 

 

 

 

Phone Numbers

LGL Field

BetterUnite Field

Phone where type = "Work"

Work Phone

Phone where type = "Home"

Home Phone

Phone where type = "Mobile"

Cell Phone

 

 

 

 

 

 

Employment & Relationships

LGL Field

BetterUnite Field

Notes

org_name

Company Name

Only when is_org = true

org_name

Employer

Only when is_org = false

job_title

Job Title

 

spouse_name

Spouse Full Name

 

 

 

 

 

 

 

Primary Address (first address in street_addresses)

LGL Field

BetterUnite Field

Notes

STREET

Address Line 1

 

City

Address City

 

State

Address State

 

postal_code

Address Zip Code

 

Country

Address Country

 

street_type_name

Address Type

"Home" → Home, "Work" → Work, else → Other

 

 

 

 

 

 

 

Secondary Address (second address in street_addresses, if present)

LGL Field

BetterUnite Field

Notes

STREET

Address2 Line 1

 

City

Address2 City

 

State

Address2 State

 

postal_code

Address2 Zip Code

 

Country

Address2 Country

 

street_type_name

Address2 Type

Same mapping as primary

 

 

 

 

 

 

 

Matching / Deduplication Logic

Contacts are matched to existing BetterUnite records using:

  • Primary email (case-insensitive match on EmailAddress1)

  • Full name (case-insensitive match on FullName) — used as fallback when email doesn't match

New vs. Existing Contact Behavior

  • New contacts: All mapped fields are populated on create.

  • Existing contacts: Fields are only updated if the BetterUnite field is currently blank/null. Existing values are never overwritten. The LGL_ID is always updated regardless.