# Troubleshoot connections

> This page is about FlutterFlow (the app builder you use by describing your app), not FlutterFlow Studio.

URL: https://docs.flutterflow.io/ffx/troubleshoot-connections

Fix refused keys, unavailable services, expired approvals, and connection errors in your app.

## A service refuses your key {#key-refused}

**What it means:** FlutterFlow checks the key with the service before saving the connection. If the service refuses the key, the connection dialog says that the service didn't accept it.

<Mock name="key-refused" alt="The Connect OpenAI dialog with a red cross on the link between FlutterFlow and OpenAI, a hidden API key, and under the field in red: OpenAI didn’t accept this API key. Check you copied all of it, or make a new one." />

**Fix it:**

1. Check that you copied the whole key, or make a new key in the service.
2. To connect a new service, select **Connect** in the dialog again. To update an existing connection, open the menu on the service's card (on a phone, select the service) and select **Replace key**. If your app has several accounts for the service, **Replace key** is on the service's page instead.

See [Manage connections](https://docs.flutterflow.io/ffx/manage-connections).

## "Only a project owner can connect services" {#owner-required}

**What it means:** Only an owner of your app can connect, link, or change your app's service connections.

**Fix it:**

1. Ask an owner of your app to open **Project Settings › Connections**.
2. Have them connect or update the service there.

See [Team roles](https://docs.flutterflow.io/ffx/roles).

## "That’s a lot of connection attempts for one hour. Wait a while, then try again." {#too-many-connection-attempts}

**What it means:** In the last hour, you or your teammates checked too many keys or started too many service sign-ins.

**Fix it:**

1. Check the values that you entered.
2. Wait a while, and then try to connect again.

See [Connect services](https://docs.flutterflow.io/ffx/connections).

## A service shows Needs reconnecting {#needs-reconnecting}

**What it means:** Your sign-in to the service ended, so you must reconnect the service to keep using it:

- For a service that your app uses, its card in **Project Settings › Connections** shows **Needs reconnecting**, and the service's page shows **Needs attention**.
- For a personal account that the agent uses in chat, its card in **Account › Connections** shows **Needs reconnecting**.

**Fix it:**

1. For a service that your app uses, open **Project Settings › Connections** and select **Reconnect** on its card (on a phone, select the service first). Only an owner of your app can do this. If your app has several accounts for the service, the button is on the service's page instead.
2. For an account that the agent uses in chat, open the account menu, select **Connections**, and select **Reconnect** on its card.
3. Complete the sign-in.

<Mock name="reconnect-chat-service" alt="Account Connections, Bring your accounts into chat, where the Linear card shows Needs reconnecting and a Reconnect button beside its switch, above a connected Notion card with Permissions and a GitHub tile that isn't connected." />

See [Manage connections](https://docs.flutterflow.io/ffx/manage-connections).

## Testing the preview sent a real email or charge {#preview-real-action}

**What it means:** Previews call your connected services for real, so a test that sends an email or takes a payment really sends or charges it.

**Fix it:**

1. Check the connected service for the email, payment, or other action before you repeat it.
2. If the service provides a test key, use it when you test.

See [Connect services](https://docs.flutterflow.io/ffx/connections).

## An approval expired {#approval-expired}

**What it means:** An approval expires if you don't respond in time, or if the action doesn't run soon enough after you approve it.

**Fix it:**

- Ask the agent to try again.

For a personal service in **Account › Connections**, you can set each action in **Permissions** to **Always**, **Ask first**, or **Never**. You can't set actions marked **May delete or overwrite** to **Always**.

See [Control what the agent can do](https://docs.flutterflow.io/ffx/agent-permissions).

## You can't find a service {#service-missing}

**What it means:** Your app can connect only the services in **Project Settings › Connections**. Personal accounts that the agent uses are in **Account › Connections**, and your app never uses them.

**Fix it:**

1. Open **Project Settings › Connections** and search for the service.
2. For a personal account that you want the agent to use, open the account menu, select **Connections**, and search there instead.
3. If the service isn't listed, choose a supported service for the task.

See [Connect services](https://docs.flutterflow.io/ffx/connections).

## Messages shown in your app {#app-messages}

Your app shows the following messages when a connected service fails.

### "This feature isn't set up in this app yet" {#feature-not-set-up}

**What it means:** The service or action isn't set up in your app, or the connection isn't linked to your app.

**Fix it:**

1. Ask an owner of your app to open **Project Settings › Connections** and turn on the service's switch. If your app already has a connection that it doesn't use, they can also select **Link to this project** on the service's page.
2. If the feature still needs to be built, ask the agent in a thread to set it up.
3. After the agent finishes, check the result, and then [push the changes to your app](https://docs.flutterflow.io/ffx/push).

### "This feature isn't available right now. Try again later" {#feature-unavailable}

**What it means:** Your app can't use its connection to the service until an owner reconnects it.

**Fix it:**

1. Ask an owner of your app to open **Project Settings › Connections**.
2. Have them select **Reconnect** on the service's card (on a phone, select the service first) and complete the sign-in. If your app has several accounts for the service, **Reconnect** is on the service's page instead.
3. Try the feature again.

### "Some details of this request aren't valid, so it wasn't sent" {#invalid-request}

**What it means:** The request's details failed a check by FlutterFlow or by the service, or the service's response was too large to receive.

**Fix it:**

1. Check the values that you entered, or request a smaller range.
2. If valid values still fail, ask the agent to fix the feature's request, and then [push the change](https://docs.flutterflow.io/ffx/push).

### "The service behind this feature couldn't complete the request. Try again in a moment" {#service-request-failed}

**What it means:** The connected service failed to complete the request.

**Fix it:**

1. Wait a moment, and then try again.
2. If it keeps failing, ask an owner of your app to check the service's connection in **Project Settings › Connections**.

See [Connect services](https://docs.flutterflow.io/ffx/connections).

### "This may have gone through, but no confirmation came back. Check whether it did before trying again, so it doesn't happen twice" {#outcome-unknown}

**What it means:** The connected service might have completed the action without returning a confirmation. Repeating the action might run it twice.

**Fix it:**

1. Check the connected service for the payment, email, or other action.
2. Try again only if the action didn't go through.

See [Connect services](https://docs.flutterflow.io/ffx/connections).
