Core Concepts
Understanding FluxCascade's key concepts will help you build effective integrations.
Connections
A Connection represents an authenticated link to an external system like HubSpot, Jobber, or Salesforce.
- Each connection stores OAuth tokens securely (encrypted at rest)
- Tokens are automatically refreshed before expiry
- You can connect multiple accounts of the same platform (multi-portal support)
interface Connection {
id: string;
provider: 'hubspot' | 'jobber' | 'pipedrive' | 'salesforce';
status: 'active' | 'expired' | 'error';
accountName: string;
createdAt: string;
}
Mappings
A Mapping defines how data flows between two systems. It specifies:
- Source: Where data comes from (provider + object type)
- Target: Where data goes to (provider + object type)
- Direction: One-way or bidirectional
- Field Pairs: Which fields map to each other
Mapping Directions
| Direction | Description |
|---|---|
source_to_target | Data flows from source → target only |
target_to_source | Data flows from target → source only |
bidirectional | Data syncs both ways, newest wins |
Field Pairs
Field Pairs are the individual field mappings within a Mapping:
interface FieldPair {
sourceField: string; // e.g., "firstname"
targetField: string; // e.g., "first_name"
transform?: string; // e.g., "uppercase", "phone_e164"
required: boolean;
}
Transforms
Transforms modify data as it moves between systems:
uppercase/lowercase– Change text casephone_e164– Format phone numbers to E.164 standarddate_iso– Convert dates to ISO 8601 formatsplit_name– Split "John Doe" into first/last nameconcatenate– Combine multiple fields
Syncs
A Sync is a single execution of a Mapping. It:
- Fetches records from the source system
- Applies transforms to each field
- Creates or updates records in the target system
- Logs results (success/failure counts)
Sync Statuses
| Status | Description |
|---|---|
pending | Sync is queued |
running | Sync is in progress |
completed | Sync finished successfully |
partial | Some records failed |
failed | Sync failed entirely |
Webhooks
Webhooks enable real-time syncing when data changes:
- External system sends a webhook to FluxCascade
- FluxCascade identifies affected mappings
- Sync is triggered for the changed record(s)
This is more efficient than polling and ensures near-instant data synchronization.
Organizations
Organizations allow team collaboration:
- Invite team members to your organization
- Share connections and mappings
- Role-based access control (Owner, Admin, Member)
- Separate billing per organization