> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allgoodhq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MK Data Platform

> What Marketing Kernel stores, where it runs, how data gets in and out, and where to go next.

Marketing Kernel (MK) keeps everything it knows about your people and companies in the **Datastore**: every record synced from Salesforce or your warehouse, every form submission and page view, and every decision allGood makes about them. It lives in your own isolated Snowflake database in allGood's account, and nothing is pooled across customers. Data moves in and out through Snowflake Secure Data Sharing and the Salesforce integration, so there is no export or pipeline to maintain.

Three pages cover the platform. [Data Sharing](https://docs.allgoodhq.com/mk/data/sharing.md) is how data enters and leaves. [Data Architecture](https://docs.allgoodhq.com/mk/data/architecture.md) is how it is organized once it is here. [Orchestration](https://docs.allgoodhq.com/mk/data/orchestration.md) is what acts on it.

## Data in and out

| Flow | How it works | Freshness |
| - | - | - |
| Your warehouse → allGood | You publish a Snowflake share; allGood reads it in place and syncs the tables you choose into records | Periodic, on a timer |
| Salesforce → allGood | The [Salesforce integration](https://docs.allgoodhq.com/integrations/salesforce.md) pulls objects directly, or they arrive through your warehouse share | Periodic, on a timer |
| Web, forms, email → allGood | Hosted pages, forms, the tracking tag and email events arrive as activities through the [Web Edge](https://docs.allgoodhq.com/mk/developer/web-edge/index.md) | Seconds |
| allGood → your warehouse | allGood publishes a share with views over your people, companies, records, activities and every data change | Live |
| allGood → Salesforce | When a policy or plan changes a mapped field, or a plan syncs campaign membership, allGood writes it to the Lead, Contact, Account or Campaign | Event-driven |

Every change, whichever direction it came from, is a logged decision that names what made it and why. You can read that log on a person's page in allGood or query it in your own warehouse.

## Before you start

> [!NOTE]
>
> Snowflake shares data directly only between accounts in the same cloud region. allGood has Snowflake accounts available in AWS `us-west-2` and AWS `us-east-1`. Contact allGood support if you need a Snowflake data-share in a different region.

* Sharing in either direction needs the **Admin** role in allGood, and **ACCOUNTADMIN** (or a role that can create shares) in your Snowflake account.
* Writing back to Salesforce needs API credentials from the [Salesforce integration](https://docs.allgoodhq.com/integrations/salesforce.md), even if your Salesforce data reaches allGood through your warehouse. allGood support will help you configure the mappings.
* Record types, identity rules, policies and plans are versioned config under **Marketing Kernel → Orchestration**. allGood builds the first set with your team.

## Go deeper

> [card] [Data Sharing](https://docs.allgoodhq.com/mk/data/sharing.md)
>
> Snowflake shares in both directions, the warehouse sync, and Salesforce write-back.

> [card] [Data Architecture](https://docs.allgoodhq.com/mk/data/architecture.md)
>
> Records, the decision log, identity resolution, activities, and relationships.

> [card] [Orchestration](https://docs.allgoodhq.com/mk/data/orchestration.md)
>
> Policies, Smart Relationships and Plans: the things that write decisions.

## Set up Snowflake sharing

> [card] [Inbound Sharing](https://docs.allgoodhq.com/ops/snowflake/inbound-sharing.md)
>
> Publish a share from your warehouse and connect it to allGood.

> [card] [Outbound Sharing](https://docs.allgoodhq.com/ops/snowflake/outbound-sharing.md)
>
> Accept allGood's share and the schema of the views you receive.

> [card] [Snowflake overview](https://docs.allgoodhq.com/ops/snowflake)
>
> Why allGood shares instead of syncing.

> [card] [Snowflake FAQ](https://docs.allgoodhq.com/ops/snowflake/faq)
>
> What to share first, identity resolution, the audit log, and regions.

> [!NOTE]
>
> Questions? Reach out to [support@allgoodhq.com](mailto:support@allgoodhq.com), or ask your allGood implementation lead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.