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

# Business and marketing integrations

> Set up reporting imports from business applications and advertising platforms.

These sources appear in Dawn's connection catalogue. Their credentials and available reporting data depend on the provider account. Start with a small reporting period and reconcile the output with the provider's own report.

## Authentication and data flow

These integrations use three authentication patterns. The provider checks the account or application's permissions before returning reporting data.

| Sources                           | Authentication flow                                                                                                                                                       |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| LinkedIn                          | You approve access on LinkedIn; Dawn exchanges the authorisation code and saves the access token for reporting requests. Reauthorise if that token expires or is revoked. |
| Business Central and Taboola      | Dawn uses the saved application client ID and secret to request an access token, then calls the reporting or business API.                                                |
| Outbrain, HeyReach, and Instantly | Dawn uses the saved API token or key to authenticate provider requests.                                                                                                   |

```mermaid theme={null}
flowchart TD
    A["Saved provider credential"] -.->|"Authenticate"| B["Dawn import"]
    B -->|"Request selected report"| C["Provider API"]
    C -->|"Return records or reporting metrics"| B
    B -->|"Save tabular results"| D["Dawn dataset"]
```

Each run retrieves the configured reporting selection. Changes at the provider appear after another import, including revised totals for past periods. Account and date filters do not narrow the credential's permissions. Revoking access stops future requests with that credential; already imported results remain in Dawn.

## Connection details

| Source                        | Connection settings                                                    | Import settings                                                              |
| ----------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| Dynamics 365 Business Central | Tenant, Environment, and optional Publisher and Group for a custom API | Entity, whether it is company-scoped, and query parameters                   |
| LinkedIn                      | Account ID                                                             | Campaign group, campaign, or creative level; date range or recent-day window |
| Taboola                       | Account ID                                                             | Campaign or item level; date range or recent-day window                      |
| Outbrain                      | Marketer ID and whether to include archived records                    | Date range or recent-day window                                              |
| HeyReach                      | Select the provider credential                                         | Date range or recent-day window                                              |
| Instantly                     | Select the provider credential                                         | Date range or recent-day window                                              |

Create the source through **Connections → New connection**, select the appropriate credential type offered by the form, and save. Keep account identifiers in connection settings and secrets in the credential form.

## Credentials

| Provider         | Credential                                            |
| ---------------- | ----------------------------------------------------- |
| Business Central | Application client ID and client secret               |
| LinkedIn         | Authorise the LinkedIn account through the OAuth flow |
| Taboola          | Client ID and client secret                           |
| Outbrain         | API token                                             |
| HeyReach         | API key stored as a token credential                  |
| Instantly        | API key stored as a token credential                  |

## Permissions

**LinkedIn:** the authorisation flow requests `r_ads` and `r_ads_reporting`. The authorised member also needs access to the intended advertising account. The account ID in the connection selects the reporting account; it does not replace LinkedIn's access controls.

**Business Central:** the connector requests an application token using `https://api.businesscentral.dynamics.com/.default`. An administrator must configure the Entra application's permissions and its access inside Business Central. The selected tenant and environment must match that configuration. The token scope uses the permissions already granted to the app; it is not a promise of read-only access.

**Other providers:** confirm API availability, credential permissions, and reporting-account access with the provider administrator. A valid API credential may cover more data or operations than the reporting import uses. Dawn's account and date filters are not credential restrictions.

## Build the first import

Add the connection to a conversation and describe the exact reporting output:

```text theme={null}
Prepare a reporting import from this connection for the last complete month.
Show the account, reporting level, date boundaries, timezone, and output
columns. Explain any provider limitations before running it.
```

Review the import configuration, run it, and compare totals with the provider. For advertising data, compare the same account, timezone, currency, reporting level, and attribution settings. Late conversions can change previously reported totals.

## Before scheduling

Choose a refresh window that accounts for updates to recent periods. Decide how repeated runs replace or reconcile earlier records. Confirm that expired credentials and provider rate limits produce visible failures rather than unnoticed gaps.

## Troubleshooting

* **Unauthorised:** check the selected credential and whether the provider has revoked or expired it.
* **Account not accessible:** verify the credential's access to the account ID, marketer ID, company, or environment.
* **Totals differ:** compare date boundaries, timezone, currency, reporting level, and archived records.
* **No rows:** test a known period with activity and inspect the selected entity or reporting level.

For access retirement, follow [permissions and credentials](/integrations/security#rotate-or-revoke-access).
