# Credentials

Rank's **Settings** page connects the external services two data source types
need. Each credential is a card of its own, and the page is one form: **Save**
in its header stores every credential you typed in, and **Discard** drops what
you typed.

## Google Sheets

**Google Sheets API key** is used by Google Sheets sources that have **Use the
Google Sheets API** turned on. Create a key in Google Cloud with the Google
Sheets API enabled. Sources that leave the option off need no key. A saved key
is shown masked with **Replace**, which opens the field for a new key, and
**Remove**, which deletes the saved key after you confirm.

## Notion

**Notion integration token** is used by every Notion source. Create an
internal integration in Notion, copy its token, and share the databases you
want to read with the integration. A saved token is shown masked with
**Replace** and **Remove**, as the key is.

## How credentials are checked and stored

Before a key or token you typed in is stored, Rank checks it with Google or
Notion. A credential the provider rejects is not saved, and the field says
that it could not be verified. A field left empty keeps the saved credential;
**Remove** is what deletes it.
Neither the key nor the token is ever sent back to the browser: the settings
operations answer only whether each is saved.

The key and the token are stored in the `sleek_rank_google_sheets_api_key`
and `sleek_rank_notion_token` options. They can also be set without the
screen, for example in a deployment:

```bash
wp sleek rank settings set --notion-token=secret_abc --validate
```

`--validate` runs the same check first and stops when the provider rejects the
credential. The `SettingsOperations_read`, `SettingsOperations_save` and
`SettingsOperations_checkApi` operations serve the screen; see
[REST operations](/docs/rank/reference/rest.md) and
[Settings reference](/docs/rank/reference/settings.md).

Like every Rank route, the settings routes answer only requests sent from the
WordPress administration.

## AI provider keys

Rank has no AI keys of its own. The workspace assistant uses the provider
keys in the AI section of the global settings, opened with the settings button
beside the light and dark mode control; in the standalone plugin they are in
its **Settings**. Those keys are shared by every SleekWP product.
