Gallagher Access Control Integration
Overview
Gallagher Command Centre is an enterprise-grade on-premises access control platform that provides comprehensive physical security management. Through Gallagher’s cloud gateway service, Nexudus can connect to your on-premises Command Centre server to automate credential provisioning and access group assignments based on customer contracts, passes, bookings, and desk assignments.Key Features
- On-premises control: Your Command Centre server remains on your local network
- Cloud gateway connectivity: Gallagher’s cloud service bridges Nexudus to your on-premises server
- Multi-region support: Cloud gateway available in US and AU regions for optimal performance
- Automatic provisioning: Access is granted and revoked automatically based on plan changes, bookings, and pass assignments
- Check-in tracking: Use access zone events to automatically check customers in/out
- RFID card support: Multiple RFID cards per customer with configurable card types
- Group-based permissions: Map your inventory (passes, resources, desks) to Gallagher access groups
- Booking-based temporary access: Automatic access during reservation windows
- PIN code support: Optional user code (PIN) for enhanced security
Integration Type
On-premises with cloud gateway — Gallagher Command Centre runs on your local network as an on-premises server. Gallagher provides a cloud gateway service that securely connects Nexudus to your on-premises server without requiring you to open firewall ports or expose your server directly to the internet. The cloud API endpoints are hosted regionally atcommandcentre-api-us.security.gallagher.cloud or commandcentre-api-au.security.gallagher.cloud.
The cloud gateway must be configured by Gallagher before Nexudus can connect to your on-premises Command Centre server. This setup ensures secure communication without compromising your network security.
Capabilities
| Feature | Supported | Notes |
|---|---|---|
| Pass-based access | ✅ Yes | Customers receive access based on their active passes |
| Plan-based access | ✅ Indirect | Plans grant access through the passes they include |
| Resource-based access | ✅ Yes | Grants temporary access during reservations |
| Desk/unit-based access | ✅ Yes | Includes support for team billing contracts |
| Visitor access | ❌ No | Not supported by this integration |
| Booking guest access | ✅ Yes | Customers added as booking guests can access spaces during booking windows |
| Check-in tracking | ✅ Yes | Access zone events trigger automatic check-ins |
| Mobile app access | ❌ No | Physical cards/PIN codes required for access |
| Remote door unlock | ❌ No | Physical credentials required for access |
How It Works
Access Control Model
Gallagher uses an access group model to manage access permissions:- Cardholders represent individuals in the system (mapped to Nexudus customers)
- Access Groups define collections of doors that cardholders can access
- Access Zones are physical areas monitored for check-in/check-out events
- Cards are physical RFID credentials assigned to cardholders
- Divisions organize cardholders within your Gallagher account
Multi-Door Support
Gallagher uses access groups to grant permissions to multiple doors. Instead of mapping each door individually:- In Gallagher Command Centre, create an access group (e.g., “24/7 Access”)
- Add the relevant doors to that group in Gallagher
- In Nexudus, map your pass/resource/desk to that group
- Customers with that pass automatically get access to all doors in the group
You must configure which doors belong to each access group in the Gallagher Command Centre platform. Nexudus assigns customers to groups, but the door-to-group mapping is managed in Gallagher.
Prerequisites
Before connecting Nexudus to Gallagher, ensure you have:- Gallagher Command Centre server installed and operational at your location
- Cloud gateway configured — Gallagher must set up the cloud gateway connection to your on-premises server
- API key obtained from Gallagher (used for authentication through the cloud gateway)
- Division ID — The identifier for your organizational division
- Card Type ID — The card type to use when provisioning cards
- Region selection — US or AU based on your cloud gateway region
- Gallagher system configured with access groups and access zones
- Nexudus location configured with plans, passes, and resources
Contact Gallagher support to request cloud gateway setup and obtain your API key, Division ID, and Card Type ID.
Configuration
Step 1: Request Cloud Gateway Setup from Gallagher
Before you can connect Nexudus to your Gallagher Command Centre server, you must request cloud gateway setup from Gallagher support:- Contact Gallagher support and request cloud gateway setup for Nexudus integration
- Provide your details: Share your on-premises Command Centre server information
- Select region: Choose US or AU based on your location (affects latency)
- Receive credentials: Gallagher will provide:
- API key for authentication
- Division ID
- Card Type ID
- Confirmation that the cloud gateway is configured and ready
The cloud gateway setup typically takes 1-2 business days. Gallagher will create a secure tunnel between their cloud API and your on-premises server, allowing Nexudus to communicate with your system without exposing it to the internet.
Step 2: Connect Nexudus to Gallagher
Once the cloud gateway is configured by Gallagher:- In the Nexudus dashboard, go to Settings > Integrations
- Find Gallagher in the list of integrations
- Enable the Enable Gallagher integration toggle
- Enter the connection details provided by Gallagher:
- API Key: Your Gallagher Command Centre API key
- Region: Select US or AU based on the cloud gateway region configured by Gallagher
- Division ID: The numeric ID of your division in Gallagher
- Card Type ID: The ID of the card type to use when creating cards
- Issue Level: The security level for cards (typically 0 for standard access)
- Click Save to establish the connection
Step 3: Configure Presence Tracking (Optional)
Gallagher can trigger automatic check-ins when customers access specific zones.- In the Presence tracking section, you’ll see all access zones from your Gallagher system
- For each zone, choose an action:
- Nothing: Zone access is tracked in Gallagher but doesn’t affect Nexudus
- Check In: Accessing this zone checks the customer in
- Check Out: Accessing this zone checks the customer out
- Toggle: Accessing switches between checked in and checked out
- Set the main entrance zone to Check In
- Set the exit zone to Check Out
- Set internal zones to Nothing (access granted but doesn’t affect presence)
Check-in tracking requires event processing. Nexudus syncs access zone events every 9 minutes. Configure which event types to process using the
Gallagher.AccessEventTypes setting.Step 4: Map Passes to Access Groups
Passes are the primary way customers receive access in Nexudus. Each pass can be mapped to a Gallagher access group.- In the Passes section, you’ll see all passes configured for this location
- For each pass, select a Gallagher access group from the dropdown
- The dropdown shows all access groups available in your Gallagher system
- Access groups are automatically retrieved when you save the connection settings
- Leave blank if a pass should not grant physical access
- When a customer has an active contract on a plan that includes passes, they automatically receive those passes
- If the pass is mapped to a Gallagher access group, the customer is added to that group
- When the pass expires or is consumed, access is revoked
- Time-limited passes (e.g., day passes with validity windows) automatically grant and revoke access at the appropriate times
| Pass Name | Gallagher Access Group | Purpose |
|---|---|---|
| 24/7 Access Pass | 24/7 Members | Round-the-clock building access |
| Business Hours Pass | Business Hours | Access only during operating hours |
| Meeting Room Pass | Meeting Rooms | Access to meeting room zones |
Access groups are automatically retrieved from your Gallagher system. If you don’t see a group in the dropdown, verify it exists in Gallagher and re-save your connection settings to refresh the list.
Step 5: Map Resources to Access Groups
Resources (meeting rooms, event spaces, etc.) can require specific access permissions for bookings.- In the Resources section, you’ll see all resources configured for this location
- For each resource, select a Gallagher access group from the dropdown
- Leave blank if resource bookings should not grant physical access
- When a customer books a resource, Nexudus grants them access 15 minutes before the booking starts
- Access is automatically revoked when the booking ends
- If the booking is cancelled, access is removed immediately
| Resource Name | Gallagher Access Group | Purpose |
|---|---|---|
| Conference Room A | Meeting Room A | Access to specific meeting room |
| Event Space | Event Hall | Access to event space for bookings |
| Private Office | Private Offices | Access to private office area |
Resource-based access is temporary and booking-specific. A customer only receives access during their booking window, even if they don’t hold a general access pass.
Step 6: Map Desks/Units to Access Groups
Floor plan desks and units can grant access to specific areas when included in a customer’s contract.- In the Desks / Offices section, you’ll see all desks from your floor plans
- For each desk, select a Gallagher access group from the dropdown
- Leave blank if desk assignments should not grant physical access
- When a desk is added to a customer’s contract, they receive access to the mapped group
- Access is granted when the contract starts and revoked when it ends
- Team billing support: If a customer uses team billing (merged billing), they also receive access to desks included in the paying member’s contracts
| Desk/Unit Name | Gallagher Access Group | Purpose |
|---|---|---|
| Private Office #101 | Private Office Floor 1 | Access to first-floor private office area |
| Dedicated Desk Zone A | Desk Area A | Access to dedicated desk zone A |
| Studio #5 | Studio Access | Access to individual studio unit |
Step 7: Save Configuration
- Review all mappings to ensure they’re correct
- Click Save to apply the configuration
- Nexudus will immediately start provisioning access for customers based on the new mappings
How Access is Managed
When Access is Granted
Nexudus automatically grants Gallagher access when:- Contract starts: Customer begins a contract on a plan → receives passes included in that plan → assigned to corresponding Gallagher access groups
- Pass activated: Customer receives a pass directly (not via a contract) → assigned to the mapped Gallagher access group
- Booking created: Customer books a resource → granted access to resource’s group 15 minutes before booking start time
- Desk added to contract: Desk is added to an active contract → customer receives access to the desk’s mapped group
- Booking guest added: Non-customer is added as a guest on a booking → granted access to resource’s group for the booking duration
When Access is Revoked
Nexudus automatically revokes Gallagher access when:- Contract ends or cancelled: Customer loses passes from that contract → removed from corresponding Gallagher access groups
- Pass expires: Pass validity ends or usage is consumed → removed from mapped Gallagher access group
- Booking ends or cancelled: Booking time expires or is cancelled → access to resource’s group is removed
- Desk removed from contract: Desk is removed from contract → access to desk’s group is revoked
- Customer deactivated: Customer account is deactivated → all Gallagher access removed
Access Update Timing
- Immediate updates: Contract changes, pass assignments, and customer deactivations trigger access updates within seconds
- Debouncing: Rapid changes to the same customer are batched together (5-second delay) to prevent excessive API calls
- Booking lead time: Booking access is granted 15 minutes before the booking start time
- Background processing: Access updates are queued in background jobs to handle high volumes efficiently
- Distributed locking: Prevents concurrent updates to the same customer across multiple servers
If a customer should have access but doesn’t, the system automatically retries access provisioning. Check the Business Checkup page for any integration errors.
RFID Card Management
Gallagher supports traditional RFID access cards with optional PIN code (user code) support. To assign cards to customers:- Go to Operations > Customers
- Select the customer
- In their profile, enter card IDs in the Access Card ID field
- Separate multiple cards with commas:
123456,789012,345678 - Optionally, set a PIN code in the Access PIN Code field (if enabled)
- Save the customer profile
- No card: Cardholder exists in Gallagher but cannot unlock doors (no physical credentials)
- Card assigned: Customer can use physical RFID card to unlock doors
- PIN code set: Customer can use user code (PIN) if the feature is enabled
- Card removed: Physical access is revoked (cardholder record remains in system)
- Card Type: Configured globally using the
Gallagher.CardTypesetting - Issue Level: Configured globally using the
Gallagher.IssueLevelsetting (default: 0) - User Code (PIN): Enable by setting
Gallagher.SetUserCodetotrue
Unlike cloud-based systems with mobile app support, Gallagher requires physical RFID cards or PIN codes. Customers cannot unlock doors remotely via a mobile app in this integration.
Troubleshooting
Customer has an active contract but can't access doors
Customer has an active contract but can't access doors
Possible causes:
-
Pass not mapped: The passes included in the customer’s plan are not mapped to any Gallagher access groups
- Solution: Go to Settings > Integrations > Gallagher and select an access group for the relevant passes
-
Access group no longer exists: The selected access group was deleted from Gallagher
- Solution: Select a different group or recreate the group in Gallagher, then refresh the integration
-
Pass expired or inactive: The customer’s pass has expired or hasn’t started yet
- Solution: Check the customer’s passes under their profile to verify validity windows
-
Cardholder not created: The customer wasn’t created in Gallagher
- Solution: Check the Business Checkup page for integration errors, or manually trigger an update by editing and saving the customer’s profile
-
Access group permissions: The Gallagher access group exists but isn’t assigned to any doors
- Solution: In Gallagher Command Centre, verify the access group includes the correct door controllers
-
No card assigned: Customer exists in Gallagher but has no physical credentials
- Solution: Assign an RFID card in the customer’s Access Card ID field
-
Wrong region: API key is for a different region (US vs AU)
- Solution: Verify you’ve selected the correct region in the integration settings
-
Division mismatch: Cardholder created in wrong division
- Solution: Verify the Division ID setting matches your intended division in Gallagher
Booking access not working
Booking access not working
Possible causes:
-
Resource not mapped: The booked resource is not mapped to a Gallagher access group
- Solution: Select an access group for the resource in Settings > Integrations > Gallagher
-
Booking too far in future: Access is only granted 15 minutes before booking start time
- Solution: Wait until booking is within 15 minutes of start time
-
Booking not confirmed: Some resources require booking confirmation
- Solution: Confirm the booking if it’s in pending state
-
No card assigned: Customer has no physical card to use
- Solution: Assign an RFID card to the customer’s profile
RFID cards not working
RFID cards not working
Possible causes:
-
Card Type ID incorrect: The configured card type doesn’t match your Gallagher system
- Solution: Verify the
Gallagher.CardTypesetting matches a valid card type ID in your Gallagher system
- Solution: Verify the
-
Card not synced: Recent card changes haven’t been synced to Gallagher
- Solution: Wait a few minutes for sync, or manually trigger by editing and saving the customer profile
-
Cardholder inactive: Customer’s cardholder record is marked as unauthorised
- Solution: Verify customer has active passes/contracts that grant access
-
Issue Level mismatch: Card issue level doesn’t match door requirements
- Solution: Check the
Gallagher.IssueLevelsetting and door controller requirements
- Solution: Check the
-
Card reader issue: Physical hardware problem
- Solution: Test cards on different readers to isolate hardware issues
Check-ins not created from zone events
Check-ins not created from zone events
Possible causes:
-
Zone action not configured: Access zone is set to “Nothing” instead of a check-in action
- Solution: Configure the zone action in Settings > Integrations > Gallagher
-
Event types not configured: The
Gallagher.AccessEventTypessetting is missing or incorrect- Solution: Configure which event types to process (contact Gallagher support for event type IDs)
-
Sync delay: Background task runs every 9 minutes
- Solution: Wait up to 9 minutes for the next event sync cycle
-
Cardholder description format: Customer ID not found in cardholder description
- Solution: Verify cardholder descriptions follow the format
NX-{customerId}
- Solution: Verify cardholder descriptions follow the format
Integration connection failing
Integration connection failing
Possible causes:
-
Cloud gateway not configured: Gallagher hasn’t completed the cloud gateway setup
- Solution: Contact Gallagher support to verify the cloud gateway is configured and online for your on-premises server
-
Invalid API key: The API key is incorrect or has been revoked
- Solution: Obtain a new API key from Gallagher and update in Settings > Integrations > Gallagher
-
Wrong region: API key is for a different region than selected
- Solution: Verify which cloud gateway region Gallagher configured (US or AU) and select the matching region in Nexudus
-
On-premises server offline: Your Command Centre server is not running or unreachable
- Solution: Verify your on-premises Command Centre server is running and accessible from your local network
-
API key permissions: API key doesn’t have sufficient permissions
- Solution: Ensure the API key has full cardholder and access group management permissions
-
Network connectivity: Unable to reach Gallagher cloud API gateway
- Solution: Check your internet connection and verify no firewall is blocking access to
*.gallagher.cloud
- Solution: Check your internet connection and verify no firewall is blocking access to
Access group assignments not updating
Access group assignments not updating
Possible causes:
-
Access group deleted: Group was selected but has since been deleted from Gallagher
- Solution: Recreate the group in Gallagher or select a different group in Nexudus
-
Stale group list: Available groups not refreshed after changes in Gallagher
- Solution: Re-save your connection settings to refresh the group list from Gallagher
-
API rate limiting: Too many requests to Gallagher API
- Solution: Wait a few minutes and try again; background jobs will continue processing
-
Division mismatch: Access groups from different division
- Solution: Ensure access groups exist in the division specified by your Division ID setting
Duplicate email address error
Duplicate email address error
Possible causes:
-
Email already exists in Gallagher: Another cardholder already uses this email
- Solution: Gallagher uses description field with format
NX-{customerId}for lookups, not email. The system will find the existing cardholder by description instead.
- Solution: Gallagher uses description field with format
-
Company and individual records: Customer has both company and individual records with the same email
- Solution: Nexudus automatically prioritizes the individual record and processes it first
Monitoring Integration Errors
Nexudus monitors your access control integration and alerts you to any issues that need attention.Business Checkup Dashboard
Access control integration errors are displayed on the Business Checkup page:- Go to Home > Important Items in the dashboard, or
- Navigate directly to dashboard.nexudus.com/dashboards/checkup
- Look for the Access Control Integration tile
- If there are errors, the tile will be displayed in red
What Gets Flagged
- Authentication failures: Invalid or expired API keys
- Provisioning errors: Failed attempts to create or update customer access
- Configuration issues: Missing or invalid access group mappings
- Synchronization problems: Delays or failures in updating access permissions
- Event processing errors: Issues reading or processing access zone events
- The customer affected
- The nature of the problem
- When the error occurred
- Suggested actions to resolve it
Nexudus automatically retries failed operations with exponential backoff (60 attempts with 60-second delays). If errors persist, check the Business Checkup page for detailed information and follow the suggested resolution steps.
Security Considerations
Data Shared with Gallagher
When provisioning access, Nexudus shares the following information with Gallagher:- Customer data: First name, last name
- Description: Format
NX-{customerId}(used to link records between systems) - RFID cards: Card IDs from the Access Card ID field
- User Code: PIN code from the Access PIN Code field (if enabled)
- Division: Organizational division for the cardholder
- Email addresses
- Phone numbers
- Billing information
- Payment details
- CoCloud gateway**: API key authenticates through Gallagher’s cloud gateway, which securely connects to your on-premises server
- HTTPS encryption: All communication uses HTTPS (TLS)
- No scheme prefix: API key sent directly in the Authorization header value
- Regional endpoints: API calls routed to US or AU cloud gateway based on configuration
- No firewall changes: Cloud gateway connects outbound from your server to Gallagher’s cloud, requiring no inbound firewall rules
API Authentication
- API Key: Header-based authentication using custom API key
- HTTPS encryption: All communication uses HTTPS (TLS)
- No scheme prefix: API key sent directly in the Authorization header value
- Regional endpoints: API calls routed to US or AU endpoints based on configuration
External ID Management
- Description field: Format
NX-{customerId}(e.g.,NX-12345) - Lookup method: Cardholders retrieved by searching the description field
- Uniqueness: Description ensures each Nexudus customer maps to one cardholder
Related Documentation
Best Practices
Access Group Organization
Create access groups in Gallagher based on access levels, not products or plans:- ✅ Good: “24/7 Access”, “Business Hours”, “Meeting Rooms”, “Private Offices”
- ❌ Avoid: “Hot Desk Plan”, “Dedicated Desk Plan” (these are billing products, not access types)
Multi-Location Management
If you have multiple Nexudus locations using the same Gallagher system:- Each location can map to the same or different access groups
- The integration handles multiple locations mapping to the same groups automatically
- Use clear naming in Gallagher to distinguish between locations if needed
Division Structure
- Use divisions in Gallagher to organize cardholders by location or organizational unit
- All cardholders from a Nexudus location will be created in the configured division
- Ensure access groups are accessible from the division you specify
Card Type Configuration
- Configure a default card type that matches your physical RFID cards
- Use the same card type across all customers unless you have specific security requirements
- Set the issue level appropriately based on your security policies
User Code (PIN) Support
- Enable user codes only if your Gallagher deployment supports them
- SeDeployment**: On-premises Command Centre server with cloud gateway
- Base URL:
https://commandcentre-api-us.security.gallagher.cloudorhttps://commandcentre-api-au.security.gallagher.cloud - Authentication: Header Value Authentication (API key in Authorization header)
- API Format: JSON
- Content Type:
application/json - Regional routing: US or AU based on
Gallagher.Regionsetting - Gateway connection: Cloud API acts as secure proxy to your on-premises server
- Network requirements: Outbound HTTPS connection from Command Centre server to Gallagher cloud (no inbound ports required)
For developers and IT administrators
For developers and IT administrators
API Architecture
- Base URL:
https://commandcentre-api-us.security.gallagher.cloudorhttps://commandcentre-api-au.security.gallagher.cloud - Authentication: Header Value Authentication (API key in Authorization header)
- API Format: JSON
- Content Type:
application/json - Regional routing: US or AU based on
Gallagher.Regionsetting
Key Endpoints
-
Cardholders:
- GET
/api/cardholders?description="{description}"&fields=accessGroups.href,id,description,shortName,cards.number,cards.href- Search by description - GET
/api/cardholders/{id}- Get full cardholder record - POST
/api/cardholders- Create cardholder - PATCH
/api/cardholders/{id}- Update cardholder (partial updates)
- GET
-
Access Groups:
- GET
/api/access_groups?fields=id,name,href&top=1000- List all access groups
- GET
-
Access Zones:
- GET
/api/access_zones?fields=id,name,href&top=1000- List all access zones
- GET
-
Events:
- GET
/api/events?type={eventTypes}&from={isoDate}- Get events after a date
- GET
Cardholder Model
Update Model (PATCH)
Business Settings Reference
| Setting | Purpose |
|---|---|
Gallagher.Enabled | Integration enabled flag (“true”/“false”) |
Gallagher.ApiKey | API key for authentication |
Gallagher.Region | Region selection (“US” or “AU”) |
Gallagher.Division | Division ID for cardholders |
Gallagher.CardType | Card type ID for new cards |
Gallagher.IssueLevel | Card issue level (default: 0) |
Gallagher.SetUserCode | Enable PIN code sync (“true”/“false”) |
Gallagher.LastEventDate | Last processed event timestamp (ISO 8601) |
Gallagher.AccessEventTypes | Event types to process (comma-separated) |
Gallagher.Controller.Id_{zoneId}.Action | Check-in action per zone (Nothing/CheckIn/CheckOut/Toggle) |
Access Update Logic
- Passes: Active passes from contracts + shared passes from paying member
- Check-ins: Passes from open check-ins (maintains access during session)
- Bookings: Resources with bookings starting within 15 minutes
- Booking guests: Resources from bookings where customer is a visitor
- Desks: Desks from active contracts (own + team billing)
- Access groups: Aggregated list of unique group IDs
- Cardholder provisioning: Create/update cardholder with aggregated groups
- Card management: Add/remove cards based on AccessCardID field
- Authorization status: Authorised=true if customer has any groups
External IDs
- Description format:
NX-{coworkerId}(e.g.,NX-12345) - Lookup: Search by description field using exact match
- Cardholder ID: Gallagher-assigned ID, stored separately from Nexudus ID
Card Management Logic
- Multiple cards: Comma-separated list in AccessCardID field
- Card sync: Existing cards compared with current AccessCardID
- Add operation: New cards added via
cards.addarray - Remove operation: Missing cards removed via
cards.removearray with href - No cards: If AccessCardID is empty, all cards are removed
- Card properties: Type and IssueLevel applied to all cards
Access Group Management
- Add operation: Missing groups added via
accessGroups.addarray - Remove operation: Extra groups removed via
accessGroups.removearray with href - Group href format: Full URL to access group resource
- Validation: Invalid group IDs filtered out before sync
Event Processing
- Interval: Background task runs every 9 minutes
- Event query: Events retrieved from
lastEventDate(ISO 8601 format) - Event retention: Limited to last 24 hours if gap > 1 day
- Event types: Configurable via
Gallagher.AccessEventTypessetting - Cardholder lookup: Extract customer ID from description field (format:
NX-{id}) - Check-in trigger: Only events matching configured zone actions
- Business validation: Customer must be registered with the business
Error Handling
- Authentication failures: Logged and integration disabled
- Provisioning errors: Automatic retry with exponential backoff (60 attempts, 60-second delays)
- Business Checkup: Integration errors displayed on dashboard
- Distributed locks: Prevent concurrent updates to same customer (
GALLAGHER:coworker:{coworkerId}) - Event system: Raises AccessControlEventData for error tracking
Performance Optimization
- Debouncing: 5-second debounce prevents rapid repeated updates for same customer
- Semaphore: ProcessGallagherBusiness limited to 50 concurrent executions
- Access signature: Hash of group memberships prevents unnecessary updates
- Batch processing: Events processed in bulk per business
Multi-Location Support
- Cross-location groups: System handles customers with groups from multiple locations
- Group validation: Only groups from current Gallagher system included in updates
- External groups detection: UI shows warning if customer has groups from other locations
Region Configuration
- US endpoint:
https://commandcentre-api-us.security.gallagher.cloud - AU endpoint:
https://commandcentre-api-au.security.gallagher.cloud - Selection: Based on
Gallagher.Regionsetting (“US” or “AU”) - Default: US if not specified
Queue Management
- Critical queue:
1_criticalfor immediate access updates - Access control queue:
1_access_controlfor standard updates - High priority queue:
2_highfor event processing - Low priority queue:
4_lowfor business-level processing
Company vs Individual Records
- Check: If customer is a company and an individual record exists with same email
- Behavior: Individual records processed first (ordered by CoworkerType and CreatedOn)
- Email handling: All records with same email processed together