# Data Warehouse

Feathery provides a unified warehouse for client data collected through workflows and synchronized from external systems. Data is normalized, identity-resolved, and aggregated into a single client profile that can be used for reporting, downstream integrations, and operational workflows.

***

## **Getting Started**

Navigate to the Feathery form or workflow you want to configure.\
Open the **Integrations** tab to set up inbound and outbound data synchronization.

Once configured, all client-submitted data and external-system data will automatically populate Feathery’s warehouse and resolve into unified client records.

***

## **Client Identity Resolution**

Feathery maintains a single client record by resolving identity across submissions, CRM data, custodial feeds, and other integrated systems.

### **Primary Identifiers**

Choose one or more stable identifiers (email, CRM ID, account number, tax ID).\
To specify identifiers:

1. Select the field.
2. Enable **Use as Client Identifier**.
3. Add additional identifiers as needed.

All configured identifiers participate in the identity-resolution pipeline.

***

## **Multi-Attribute Matching**

If a single identifier does not produce a match, Feathery evaluates additional attribute sets in priority order. Examples:

1. External CRM ID
2. Email Address
3. Phone Number + Date of Birth
4. Last Name + Postal Code

During ingestion:

* Feathery attempts to match using the first attribute set.
* If no match is found, Feathery tries the next set.
* If multiple matches are found, Feathery flags the record for review or applies fuzzy/AI logic if enabled.

This supports heterogeneous external data sources.

***

## **Fallback Normalization Logic**

If primary and secondary attributes fail to match, Feathery applies fallback normalization, such as:

* Email alias normalization (`+tag`, dot variants)
* Country-code–agnostic phone number comparison
* Partial date matching (MM/YYYY)
* Address normalization (tokenization and standardization)

Fallback rules reduce false negatives when ingesting large or inconsistent datasets.

***

## **Fuzzy Matching**

Feathery supports fuzzy matching on human-entered fields.

Field examples:

* Name similarity ("Jonh Smith" → "John Smith")
* Address similarity (component-level matching)
* Email typo correction

Configurable parameters:

* Minimum similarity threshold (e.g., 0.92)
* Which fields allow fuzzy matching
* Automatic vs manual confirmation for low-confidence matches

Fuzzy matching is useful for custodial file imports, older CRM data, and systems with inconsistent formatting.

***

## **AI-Driven Resolution (Optional)**

Feathery’s AI identity resolution evaluates many data points together and learns matching patterns over time.

AI matching considers:

* Weighted attribute importance (DOB > phone > address)
* Name variations and known alias patterns
* Historical merges and administrator-approved matches
* Cross-field consistency (e.g., matching spouse/household information)

Modes:

* **Auto-Link**: High-confidence matches merge automatically.
* **Review Mode**: Feathery surfaces matches with confidence scores.

This is ideal for migrations, multi-system consolidation, and legacy datasets.

***

## **Duplicate Detection and Merging**

If multiple records satisfy matching rules, Feathery identifies duplicates.

Duplicate handling:

* Surface conflicting profiles
* Allow merge operations
* Preserve all submissions and documents
* Maintain field-level version history
* Merge external-system IDs into a single profile

Merging unifies lineage without losing historical data.

***

## **Bulk Synchronization From External Systems**

Feathery supports high-volume inbound and outbound synchronization to keep the warehouse aligned with CRMs, custodians, and other systems.

### **System → Feathery (Inbound Bulk Sync)**

Use inbound sync to import:

* CRM objects and relationships
* Custodial account data
* Historical client attributes
* External identifiers
* Household or entity structures

During bulk sync:

* Identity resolution maps each record to an existing profile or creates a new one
* Mapped fields populate the profile
* Sync logs capture all changes and resolution logic used

### **Feathery → System (Outbound Bulk Sync)**

Outbound sync pushes Feathery-collected data back into external systems.

Examples:

* Updating CRM client attributes
* Pushing KYC/AML workflow outputs to custodial platforms
* Sending structured data to internal databases or document systems

### **Bi-Directional Sync**

For systems with full integration:

* Feathery updates external systems when profile data changes
* External systems update Feathery during scheduled or event-driven sync
* Field-level sync rules define directionality (read-only, write-only, or bidirectional)

This ensures all systems share a consistent representation of the client.

***

## **Field Mapping**

For each integration, define how Feathery fields map to external-system attributes.

Steps:

1. Open the integration.
2. Upload or configure the mapping (CSV or in-app).
3. Set directionality for each field.
4. Save and activate.

Mapped fields remain synchronized during bulk updates, form submissions, and webhook events.

***

## **Unified Profile Storage**

Feathery maintains two layers of stored data:

### **1. Submission Records**

Captured each time a client completes a workflow step.\
Includes:

* Field-level data
* Documents
* Submission timestamp
* Logic path taken

Useful for auditing and chronological history.

### **2. Client Profile Records**

Aggregated, identity-resolved records that represent the authoritative view of the client.\
Includes:

* Latest values for all mapped fields
* All external-system IDs
* Attached documents
* Historical value versions
* Metadata describing data origin and resolution

Profile records act as the warehouse’s primary table.

***

## **Reporting Views**

Feathery provides reporting layers for analytics and export.

### **Client Profile Reports**

One row per client showing the consolidated record:

* Key attributes
* External IDs
* Latest field values
* Relationship metadata

Ideal for BI tools and operational reporting.

### **Submission Reports**

One row per submission for:

* Audit trails
* Time-based analysis
* Reviewing changes over time

### **Custom Views**

You can create filtered reporting views based on:

* Data fields
* Status
* External system values
* Date ranges

All views are exportable or accessible via API.

***

## **API and Webhook Access**

### **API**

Use Feathery’s API to:

* Retrieve unified client profiles
* Fetch submission histories
* Extract warehouse tables into your BI stack
* Download documents
* Build ETL pipelines

### **Webhooks**

Trigger events when:

* A submission is created or updated
* A client profile updates
* A bulk sync completes
* Identity resolution merges records

Webhook payloads include fully resolved identifiers and mapped fields.

***

## **Summary**

Feathery operates as a complete client-data warehouse by providing:

* Multi-field, fuzzy, and AI-driven identity resolution
* Bulk sync across CRMs, custodians, and internal systems
* Unified client profiles with full version history
* End-to-end field mapping and bi-directional synchronization
* Reporting layers for analytics and exports
* API and webhook access for data pipelines

This creates a single source of truth for client data across all workflows and integrated systems.
