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

# Planning Your Implementation

> The decisions to make before you build: which models you need, which providers your customers run, how fleets consent, and how data reaches your systems.

## Models you plan to use

All provider data is normalized into [Common Models](/models/overview), so your integration works the same regardless of which provider a fleet is on. Review the models and decide which ones you need.

Plans include different scopes of models. If you're not sure which ones yours covers, ask your Terminal contact to confirm before you build against them.

## Your customers' providers

* Look up each provider your customers run in the [Provider Explorer](/providers/explorer) to see the models and data it supports.
* Some providers need a one time setup in your [provider configuration](https://dashboard.withterminal.com/settings?tab=application) before customers can connect them. Each one has its own configuration guide under Connect Your Customers. Start there if a provider isn't showing up for your customers.
* To limit which providers your customers see in Link, set an include or exclude list with [Provider Access Control](/guides/provider-access-control).

## How fleets give consent

Decide how customers reach [Terminal Link](/guides/terminal-link): the [SDK](/guides/terminal-link#react-sdk) embedded in your app, or the [Hosted Page](/guides/terminal-link#hosted-page) you send to fleets directly. [Consent Templates](/guides/consent-templates) let you run different flows for different products or customer segments.

<Note>
  **Send us your logo.** Link shows your application's branding to every fleet
  you onboard, so send your Terminal contact a high resolution logo (.png, .svg,
  or .jpg).
</Note>

## How data reaches your systems

Compare the options in [Data Replication](/guides/data-replication): pull from the [API](/guides/syncing-via-the-api), have files delivered to [Amazon S3](/guides/aws-s3-destination), or stream to [Kafka](/guides/kafka-destination). You can use more than one, for example the API for product features and S3 for analytics.

Decide how much history you need on each new connection too. See [Backfill Duration](/guides/backfill-duration).

## Which events you react to

[Webhooks](/guides/webhooks) tell you when a connection is created, a sync finishes, or data changes, so you aren't left polling. Decide which events your systems need.

## How connections map to your system

Every connection gets a Terminal connection ID. Set an `externalId` or `tags` with [Custom Identifiers](/guides/custom-identifiers) so you can find data using the IDs you already have for that customer.

## Working towards a Production release

Everything above builds toward the [Production Readiness checklist](/guides/production-readiness), which covers the consent flow, connection lifecycle, data access, webhooks, and billing. It's where your development ends, so work through the guides and your own development and QA process first, and treat the checklist as the standard you're building toward.

Once you're confident you've covered all of it, let your Terminal contact know. We'll go through it with you and help provision your production environment.
