Skip to main content
External Systems allow you to track and store IDs from other platforms (like Salesforce, Highrise, QuickBooks, or any other system) alongside your people and organization records in Broadstripes. This enables you to:
  • Maintain cross-system references: Keep track of which records correspond between Broadstripes and your other systems
  • Import data more intelligently: Match and update existing records using external IDs instead of creating duplicates
  • Deduplicate records: Use external IDs to find and merge duplicate entries
  • Personalize communications: Include external system IDs in emails and text messages
  • Search efficiently: Find records quickly using external system IDs
Real-World Examples
Example 1: External Platform Integration Your organization uses another platform for fundraising (Let’s call it “GiveFundGo”) but Broadstripes for organizing. You can create a “GiveFundGo” external system to store donor IDs from GiveFundGo. When importing donor data, you can match records by GiveFundGo ID to update existing people instead of creating duplicates. Example 2: Payroll System You maintain employee records in both Broadstripes and an external payroll system. Create a “Payroll System” external system to store employee IDs. When payroll information changes, you can import updates that match by employee ID. Example 3: Multiple Data Sources A union local tracks members in Broadstripes, but also receives data from their national office’s membership database and their health benefits provider. They create external systems for “National Database” and “Benefits System” to maintain connections between all three systems.

Creating an External System

  1. Navigate to External Systems
    • Click your Settings menu
    • Find “External Systems” in the drop-down menu
    • Click “External Systems” to view all existing external systems External Systems List
  2. Create a New External System
    • Click the “New External System” button
    • You’ll see a form with several configuration options
  3. Configure Basic Settings System Name (Required)
    • Enter a clear, descriptive name for the system (e.g., “Salesforce”, “Highrise”, “QuickBooks”, “National Membership Database”)
    • This name will appear throughout the app, so choose something recognizable
    • Examples:
      • “GiveFundGo”
      • “Payroll”
      • “National Database”
      • “Benefits Provider”
No need to add “ID” to the system name, as it will be added automatically.
  1. Configure external system settings Each external system has several optional features you can enable: External system settings

    Locked

    What it does: Prevents users from manually editing or deleting external system ID values. When to use it:
    • ✅ Use when external system IDs should only be updated via data imports or automated processes
    • ✅ Use when you want to prevent accidental changes to critical reference data
    • ❌ Don’t use if users need to manually enter or correct external system IDs
    Example: Lock your “Payroll System” external system so staff can’t accidentally change employee IDs that must match your payroll provider’s records.

    Enforce Uniqueness

    What it does: Ensures that every external system ID is unique across all people and organizations in your project. When to use it:
    • ✅ Use when IDs in the external system are guaranteed to be unique (like Payroll IDs)
    • ✅ Use when you want to prevent duplicate entries
    • ❌ Don’t use if the same external ID might legitimately appear on multiple records
    • ❌ Cannot enable if you’re using this external system on a public form with matching enabled
    Example: If you enable this for “GiveFundGo”, you cannot have two people with the same GiveFundGo ID “003B000000ABC123”.

Allows Multiple Employments

What it does: Allows a person to be linked to multiple employers through this external system (only available if your project supports multiple employments). When to use it:
  • ✅ Use when people can have multiple jobs that are tracked in the external system
  • ✅ Use when importing employment data that includes external system IDs
  • ❌ Don’t use if people should only have one employment record per external system
Example: Enable for “Payroll System” if workers might have multiple part-time jobs tracked in your payroll system.

Automatically Submit Searches

What it does: When a user types an external system ID in the search box and it matches this system’s format, the search automatically executes without requiring them to click search button. When to use it:
  • ✅ Use for frequently searched external systems where users want quick results
  • ✅ Use when external system IDs have a distinctive format
  • ❌ Don’t use if you want users to build more complex search queries before executing
Example: If your GiveFundGo IDs always start with “003” and are 15 characters long, auto-submit makes searching by GiveFundGo ID instant.

Available as merge toke for email and text messages

What it does: Allows you to insert external system ID values into email and SMS templates using merge tokens. When to use it:
  • ✅ Use when you want to include external system IDs in communications
  • ✅ Use when recipients need to reference their ID in another system
Example: Enable for “Member ID” so you can send emails like:
“Dear %first-name%, your member ID is %member-id%. Please reference this when calling the benefits hotline.”
How to use the merge token:
  • The token format is %system-name-id% where spaces become hyphens and everything is lowercase
  • “GiveFundGo” becomes %givefundgo-id%
  • “Local Member” becomes %local-member-id%

Display in Call Center

What it does: Shows the external system ID field in the call center interface for quick reference during calls. When to use it:
  • ✅ Use when call center staff need to see or reference external system IDs during calls
  • ✅ Use when external IDs help verify caller identity
  • ❌ Don’t use for systems that aren’t relevant to phone conversations
Example: Display “Member ID” in the call center so staff can quickly tell callers their member number when asked.
  1. Save the External System
    • Review your configuration
    • Click “Create External System”
    • The system is now available throughout your project

Using External Systems in Data Imports

External systems are most powerful when used in data imports. They allow you to intelligently match and update existing records instead of creating duplicates. How External System Matching Works in Imports When you configure an import to use external system matching:
  1. During import, Broadstripes reads the external system ID from each row
  2. The system searches for existing people or organizations with that exact external system ID
  3. If a match is found: The import updates the existing record with new data from the file
  4. If no match is found: The import creates a new record and stores the external system ID
  5. The external system ID is stored on the record for future matching

Setting Up External System Matching in an Import Step 1: Prepare Your Import File Your import file should include a column with external system IDs. For example:
External ID,First Name,Last Name,Personal Email,Personal Cell Phone
SF-003B0000ABC,John,Smith,jsmith@example.com,555-0100
SF-003B0000XYZ,Jane,Doe,jdoe@example.com,555-0101
Step 2: Configure the Import
  1. Start your import (People Import or Organizations Import)
  2. Map your columns as usual
  3. In the field mapping section, look for your external system in the dropdown menu
  4. Map the column containing external IDs to your external system field Example mapping:
    Column: "External ID" → Maps to Broadstripes field: "GiveFundGo ID"
    
Mapping external systems Step 3: Configure Matching Rules On the import configuration, you’ll see a column labeled “Match?”
  1. Checkoff “Match?”
    • Check the box for your external system in the “Match?” column
    • This tells the import to search for existing records using the external system ID Match external systems
  2. Choose update behavior in the configuration
    • Update existing records: If match found, update the record with new data
    • Skip existing records: If match found, don’t change the existing record
Step 4: Run the Import
  1. Preview the import to see what will happen
    • The preview shows which records will be matched vs created new Preview import
  2. Review the match results
    • Check that external system IDs are matching as expected
  3. Click Submit
  4. Review the results
    • The import summary shows how many records were matched vs created
Import Scenarios and Examples Scenario 1: Initial Import with External IDs Situation: You’re importing data from Salesforce for the first time. Configuration:
  • Map your Salesforce ID column to the “Salesforce” external system
  • Enable matching on the external system in the Match? column
  • Some records might already exist from manual entry or other imports
Result:
  • Records with matching external IDs are updated
  • Records without matches are created as new
  • All records now have Salesforce IDs stored for future imports
Example:
Salesforce ID,Name,Email
003B000001,John Smith,john@example.com  → Updates existing John Smith (matched by SF ID)
003B000002,Jane Doe,jane@example.com    → Creates new record (no match found)

Scenario 2: Regular Update Imports Situation: You import updated data from your payroll system weekly. Configuration:
  • Map employee ID column to “Payroll System” external system
  • Enable matching on the external system in the Match? column
  • Choose “Update existing records”
Result:
  • Each week, existing employees are updated with current information
  • New employees are added automatically
  • No duplicates are created because matching is by employee ID
Example:
Employee ID,Status,Salary
E12345,Active,75000  → Updates employee E12345's status and salary
E12346,Active,68000  → Updates employee E12346's status and salary
E12347,Active,82000  → Creates new employee record (new hire)

Scenario 3: Employment Import with External Systems Situation: You’re importing employment records where employers are tracked in an external system. Configuration:
  • Create external system for “Employer Unit ID”
  • Map employer ID column to external system
  • Enable “Allows Multiple Employments” if people can have multiple jobs
  • Configure employment matching rules (Update or Append)
Employment matching rules

Employment matching rules

Result:
  • People are linked to organizations using external employer IDs
  • Employment records are created or updated based on external system matching
  • Both person and organization records can be matched by external IDs
Example:
Person External ID,Employer External ID,Job Title,Hire Date
EMP-001,ORG-555,Teacher,2023-01-15     → Links person EMP-001 to org ORG-555
EMP-001,ORG-556,Tutor,2023-06-01       → Adds second employment for same person
EMP-002,ORG-555,Principal,2020-08-01   → Links different person to same org
Troubleshooting Import Issues Problem: Records not matching when they should Possible causes:
  • External system IDs in import file don’t exactly match stored IDs
  • Extra spaces, different capitalization, or different formats
  • External system matching not checked in mapping section
Solutions:
  • Check that ID values are exactly the same (Broadstripes normalizes some differences)
  • Verify external system matching is checked in mapping section
  • Review import preview to see why matches aren’t being found
  • Check that the correct external system is selected in field mapping
Problem: Multiple records matching the same external ID Possible causes:
  • “Enforce Uniqueness” was not enabled when creating the external system
  • Duplicate external IDs were stored before uniqueness was enforced
  • Data quality issues in the source system
Solutions:
  • Run a report to find duplicate external system IDs
  • Clean up duplicates by merging entities
  • Enable “Enforce Uniqueness” to prevent future duplicates
  • Fix data issues in the source system
Problem: External system IDs not being stored after import Possible causes:
  • Field mapping not configured correctly
  • Import errors preventing external system ID storage
Solutions:
  • Verify field mapping includes the external system

External Systems on Public Forms

Public forms are web forms that allow external users to submit information to your Broadstripes project. External systems can be integrated with public forms for two purposes:
  1. Collecting external system IDs from form submitters
  2. Matching existing records using external system IDs and name to prevent duplicates
How External Systems Work on Public Forms When you add an external system field to a public form:
  • The field appears as a text input on the form
  • Form submitters can enter their external system ID (e.g., “Enter your member ID”)
  • On submission, Broadstripes searches for existing records with that external system ID
  • If a single match is found: The form data is merged with the existing record
  • If no match or multiple matches: A new record is created (with potential_matches tracked)
Setting Up External System Fields on Public Forms Step 1: Create or Edit a Public Form
  1. Navigate to Public forms in Settingsmenu
  2. Create a new public form or edit an existing one
  3. Go to the Standard fields tab of the public form editor
Step 2: Add External System Field
  1. In the public form editor, look for available field types in the Unique IDs section Unique IDs
  2. Find your external system in the list (e.g., “GiveFundGo ID”, “Member ID”)
  3. Add the external system field to your form
  4. Be sure that “Attempt to match to existing contact” is checked for the form
Step 3: Test the Form
  1. Submit test entries with known external system IDs
  2. Verify that matching works correctly
  3. Check that new records are created when no match exists
  4. Confirm that existing records are updated when matches are found
Enforce Uniqueness Restriction You cannot enable “Enforce Uniqueness” on an external system that is used on a public form
Public Form Scenarios and Examples Scenario 1: Membership Update Form Situation: Members can update their contact information using a web form. Configuration:
  • Create “Member ID” external system
  • Add “Member ID” field to public form
  • Enable matching
  • Form includes fields for address, phone, email
User Experience:
  1. Member visits form: “Update Your Contact Information”
  2. Member enters Member ID: “MEM-12345”
  3. Member updates their phone number
  4. On submission:
    • Broadstripes finds existing record with Member ID “MEM-12345” and name
    • Updates the phone number on that record
    • No duplicate record created
Result: Member information stays up-to-date without creating duplicates. Scenario 2: Event Registration with External ID Situation: You’re collecting event registrations and want to link them to existing records when possible. Configuration:
  • Create “Event System” external system (not enforcing uniqueness)
  • Add “Event System ID” field to registration form (optional field)
  • Enable matching by Event System ID and email
  • Form includes event-specific fields
User Experience:
  1. User visits registration form
  2. User optionally enters external system ID (if they know it)
  3. User enters email and other information
  4. On submission:
    • If external ID provided and matched: Links to existing record
    • If email matched but no external ID: Links to existing record
    • If no matches: Creates new record with the external ID stored
Result: Registrations are intelligently linked to existing records when possible.

Locking Data Fields with External Systems

The “Locked” setting on external systems provides a way to protect critical external system ID values from accidental modification or deletion. What “Locked” Means When an external system is marked as “Locked”:
  • Users cannot manually edit or delete external system ID values through the UI
  • External system IDs can still be updated through data imports
  • External system IDs can still be set when creating new records
  • The protection prevents accidental changes to critical reference data
When to Lock an External System Lock when:
  • ✅ IDs should only be updated through data imports
  • ✅ You want to prevent staff from accidentally changing critical reference IDs
  • ✅ The external system is the primary key for integration with another system
Don’t lock when:
  • ❌ Users need to manually enter or correct external system IDs
  • ❌ External system is only for reference and not critical
  • ❌ You’re still setting up the project and need flexibility
How Locking Affects Different Operations
OperationLockedUnlocked
Manual entry on new record✓ Allowed✓ Allowed
Manual edit on existing record✗ Blocked✓ Allowed
Manual deletion✗ Blocked✓ Allowed
Import update✓ Allowed✓ Allowed
User Experience with Locked External Systems What users see:
  • External system ID field appears as read-only
  • Users can view the external system ID but not modify it
  • The ID is visible in search results and on person/organization overview pages
What admins can do:
  • Admins can unlock the external system if corrections are needed
  • After making corrections, re-lock the external system

Fields That Can Be Locked

Here’s a comprehensive overview of what can be locked with external systems:
Field TypeWhat Gets LockedHow It’s Linked
External System IDsThe external ID value itselfAutomatically when ID is stored
Custom FieldsField value becomes read-onlyLink custom field to external system in field settings
Email AddressesSpecific email addressesImported with external system specified as source
Phone NumbersSpecific phone numbersImported with external system specified as source
How Locking Affects Different Operations
OperationLocked External SystemUnlocked External System
External System IDs
Manual entry on new record✓ Allowed✓ Allowed
Manual edit on existing record✗ Blocked✓ Allowed
Manual deletion✗ Blocked✓ Allowed
Import update✓ Allowed✓ Allowed
Public form submission✓ Allowed✓ Allowed
Custom Fields
Manual edit of field value✗ Blocked (shows locked message)✓ Allowed
Import update of field value✓ Allowed✓ Allowed
View field value✓ Allowed✓ Allowed
Contact Information (imported with the external system ID)
Edit email/phone✗ Blocked (text input disabled)✓ Allowed
Delete email/phone✗ Blocked (delete button hidden)✓ Allowed
Bulk delete✗ Skipped automatically✓ Allowed
Import update✓ Allowed✓ Allowed
Employment Records
Delete employment✗ Blocked (delete button hidden)✓ Allowed
Terminate employment✗ Blocked (terminate button hidden)✓ Allowed
Change primary employment✗ Blocked (if locked)✓ Allowed
View employment details✓ Allowed✓ Allowed
Import update✓ Allowed✓ Allowed
Important: A user may still delete or terminate an employment using the Actions menu on the Search results page.
User Experience with Locked External Systems What users see:
  • External system ID field appears as read-only
  • Users can view the external system ID but not modify it
  • The ID is visible in search results and on person/organization overview pages
What admins can do:
  • Admins can unlock the external system if corrections are needed
  • After making corrections, re-lock the external system
  • Import processes work normally regardless of lock status

Linking and Locking Custom Fields

Custom fields can be linked to an external system to indicate that their values come from that system and should only be updated via import. How to Link a Custom Field to an External System
  1. Navigate to Custom Fields
    • Go to Project Settings → Custom Fields
    • Find the custom field you want to link (or create a new one)
  2. Configure the Custom Field
    • Edit the custom field
    • Look for “External System” dropdown menu
    • Select the external system from the dropdown
    • Save the custom field
  3. Enable Locking
    • Edit the external system
    • Check the “Locked” checkbox
    • Save the external system
Result: The custom field becomes read-only in the UI with a message like:
[locked by Payroll System]
Custom Field Locking Scenarios Scenario 1: Payroll Data Fields You import employee salary, hire date, and job classification from your payroll system weekly. Configuration:
  • Create external system: “ADP Payroll” (Locked ✓)
  • Create custom fields:
    • “Salary” → Link to “ADP Payroll”
    • “Seniority Date” → Link to “ADP Payroll”
    • “Job Level” → Link to “ADP Payroll”
Result:
  • Staff can view these fields but cannot edit them
  • Values update only through weekly payroll imports
  • Prevents manual changes that would conflict with payroll records
Scenario 2: National Database Sync Your national office maintains member status, local assignment, and dues current status. Configuration:
  • Create external system: “National Database” (Locked ✓)
  • Create custom fields:
    • “Member Status” → Link to “National Database”
    • “Local Assignment” → Link to “National Database”
    • “Dues Current” → Link to “National Database”
Result:
  • Local staff can see member data but cannot change it
  • Only national office imports can update these fields
  • Ensures consistency across all locals

Unlinking Custom Fields

If you need to unlink a custom field from an external system:
  1. Edit the custom field
  2. Clear or change the external system selection
  3. Save the custom field
  4. The field becomes editable again

Linking and Locking Contact Information

Email addresses and phone numbers can be sourced from external systems to ensure contact information stays synchronized with authoritative sources. How Contact Information Locking Works When you import email addresses or phone numbers through an external system import:
  1. Map Email/Phone Columns: Map email/phone columns to the import
  2. Include External System Column: Include the corresponding external system ID values in the import
  3. Import Executes: Contact information is created/updated
  4. Automatic Linking: Each email/phone is linked to the external system ID
  5. Locked Display: If the external system is locked, contact info shows as read-only
User Experience with Locked Contact Info Locked Email Display:
Email: john.smith@company.com [Sourced from and locked by Payroll System]
Type: Work
[Edit] [Delete] ← Buttons are disabled/hidden
Locked Phone Display:
Phone: (555) 123-4567 [Sourced from and locked by HR System]
Type: Mobile
Primary: Yes
[Edit] [Delete] ← Buttons are disabled/hidden
Locked Address Display:
Address: 123 Main St, Anytown, USA [Sourced from and locked by HR System]
Type: Home
[Edit] [Delete] ← Buttons are disabled/hidden

Linking and Locking Employment Records

Employment records (the relationship between a person and an organization) can be linked to external systems to ensure job data matches HR or payroll systems. How Employment Locking Works Employments support multiple external systems - a single employment can be linked to several external systems simultaneously (e.g., both Payroll and HR systems). When importing employments:
  1. Map columns for person identifier, organization identifier, and job details
  2. Select which external system(s) are the source
  3. System creates or updates employment records
  4. Employment is linked to the specified external system(s)
  5. If any linked external system is locked, the employment becomes protected

Locked Employment Restrictions

When an employment is linked to a locked external system: Cannot Delete:
  • Delete button is hidden on employment records
  • Prevents accidental removal of employment relationships
  • Employment must be removed from external system first
Cannot Terminate:
  • Termination button is hidden or disabled
  • Termination dates can only be set via import
  • Ensures termination is processed in HR/payroll system first
Cannot Change Primary:
  • For projects with multiple employments, primary employment may be locked
  • Prevents manual changes to which job is primary
  • Primary status determined by external system logic
Can View:
  • All employment details remain visible
  • Job title, department, hire date, etc. are displayed
  • Users can see which external system controls the employment

Displaying External Systems in Search Results

External system IDs can be displayed as columns in your search results, making it easy to find, reference, and sort by external system IDs. Adding External System Columns to Search Step 1: Access Search Layout Configuration
  1. Go to your search results page by running a search
  2. Look for the Layout dropdown menu just above the search results
  3. Click and select “Modify layout”
Step 2: Add External System Columns
  1. In the available “Basic” column options, click “Unique IDs”
  2. Arrange column in your preferred order
  3. Apply or Save as new layout The Unique IDs column will display all external system IDs (and the Broadstripes ID) for the record

Using External System IDs in Messaging

When “Available as merge token for email and text messages” is enabled for an external system, you can include external system ID values in bulk emails and text messages. Setting Up External System Merge Tokens Step 1: Enable the Feature
  1. Edit your external system
  2. Check “Available as merge token for email and text messages”
  3. Save the external system
Step 2: Understand Token Format The merge token format is: %system-name-id% Conversion rules:
  • Convert spaces to hyphens
  • Convert to lowercase
  • Add -id suffix
Examples:
External System NameMerge Token
Member%member-id%
National Database%national-database-id%
Payroll System%payroll-system-id%
Using Merge Tokens in Messages In Email Templates Example 1: Membership Card Email
Subject: Your Membership Information

Dear %name%,

Your membership ID is: %member-id%

Please reference this ID when:
- Calling the member services hotline
- Accessing your online account
- Requesting union representation

If you have questions, contact us at support@union.org

In solidarity,
%sender-name%
Example 2: Benefits Enrollment
Subject: Enroll in Health Benefits

Hi %first-name%,

You're eligible to enroll in health benefits!

Your Employee ID: %payroll-system-id%
Your Benefits ID: %benefits-system-id%

Visit benefits.example.com and enter your Benefits ID to enroll.

Enrollment deadline: November 30, 2025
In SMS/Text Messages Example 1: Reminder Text
Hi %first-name%, this is Local 123. Your member ID is %member-id%. Reply with this ID to verify your identity for voting.
Example 2: Appointment Confirmation
Appointment confirmed for %first-name% %last-name% on 11/15 at 2pm. Bring your member card (ID: %member-id%). Reply YES to confirm.
What happens if a recipient doesn’t have an external system ID?Broadstripes handles this by replacing the token with a blank space if the person doesn’t have the external system ID.