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

# Custom Business Profile App

> Connect Google Business Profile through your own Google Cloud app (white-label) by pasting your client ID, client secret, and a refresh token.

Markifact supports two ways to connect Google Business Profile: using the built-in **Markifact app** (Quick Connect) or connecting through your own **Google Cloud app** (Custom App). With a custom app, every request Markifact makes runs under your app in Business Profile, so your clients never see Markifact.

<Note>
  Custom app connections are available on the **Team** plan. See [White-label Connections](/core-concepts/white-label-connections) for the overview.
</Note>

***

## What You Need

| Item                             | Value                                                                                                                                 |
| :------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ |
| **Scope**                        | `https://www.googleapis.com/auth/business.manage`                                                                                     |
| **APIs to enable**               | My Business Account Management API, My Business Business Information API, Business Profile Performance API and Google My Business API |
| **Google account for the token** | a Google account that manages the Business Profile locations you want to work with                                                    |

**Google approval is required.** Business Profile APIs are enabled with a quota of 0. Your Cloud project must be approved by Google through the [Business Profile APIs access request](https://developers.google.com/my-business/content/prereqs#request-access) before any call succeeds. Agencies that already manage clients through the API will have this in place; if you do not, apply first and connect once Google has raised the quota.

<Card title="Create the app and mint the refresh token" icon="google" href="/core-concepts/custom-google-app">
  The Google Cloud setup (project, consent screen, OAuth client, OAuth Playground) is the same for every Google channel and lives on one page.
</Card>

***

## Connect to Markifact

<Steps>
  <Step title="Open the Custom App tab">
    Go to the [Connections](https://app.markifact.com/connections) page, click **Connect** on **Google Business Profile**, and select the **Custom App (White-label)** tab.
  </Step>

  <Step title="Name the connection">
    Enter a **Connection Name** (for example "Acme Agency Business Profile"). This is how the connection appears in nodes, agents, and MCP.
  </Step>

  <Step title="Paste your credentials">
    Paste the **Client ID**, **Client Secret**, and **Refresh Token** from your Google Cloud app.
  </Step>

  <Step title="Verify & Connect">
    Markifact refreshes an access token with your client and makes one read-only call to the My Business Account Management API. Nothing is saved unless both succeed.
  </Step>
</Steps>

Custom app connections show a **Custom app** badge on the Connections page and work everywhere a Quick Connect connection works.

***

## Rotating or Replacing the Token

Add the connection again with the **same connection name** and the new refresh token. Markifact replaces the stored credentials in place, so workflows and agents bound to the connection keep working.

***

## Troubleshooting

<Accordion title="Verification fails with a permission or quota error">
  Your Cloud project has not been approved for Business Profile APIs yet, or the approval was granted to a different project than the one that owns your client ID. Check the request status with Google and make sure the client ID belongs to the approved project.
</Accordion>

<Accordion title="Client, token or scope errors">
  See the shared [Custom Google Cloud App](/core-concepts/custom-google-app#troubleshooting) troubleshooting for `invalid_client`, `invalid_grant`, missing scopes and APIs that are not enabled.
</Accordion>

***

## Related

<CardGroup cols={2}>
  <Card title="Custom Google Cloud App" icon="google" href="/core-concepts/custom-google-app">
    Create the app and mint a refresh token
  </Card>

  <Card title="Get Report" icon="chart-line" href="/nodes/business_profile/business_profile_get_report">
    Pull Business Profile performance data
  </Card>
</CardGroup>
