> For the complete documentation index, see [llms.txt](https://docs.codewords.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codewords.ai/automations/external-api-integration.md).

# External API integration

Connect your external apps to CodeWords using API keys for secure, custom integrations. Learn how to store keys and use them in workflows with Cody.

{% hint style="info" %}
Looking for one-click integrations? Connect apps from [Settings → Integrations](https://codewords.agemo.ai/#settings/integrations). See the [Integrations help guide](https://docs.codewords.ai/help-center/billing/integrations) for the full walkthrough.
{% endhint %}

### Overview

You can connect external apps to CodeWords workflows with your own API keys. That covers tools that aren’t in the one-click integrations library, or cases where you want to use your own credentials.

### 1. Get your app’s API key

An API key is a secure pass that lets CodeWords talk to your app.

1. Log in to the app you want to connect.
2. Go to **Settings → API** (or a similar section).
3. Copy an existing key, or generate a new one.

Treat your API key like a password — keep it private and never share it publicly.

### 2. Store the key in CodeWords

1. Log in to [CodeWords](https://codewords.agemo.ai/).
2. Open [Settings → API Keys](https://codewords.agemo.ai/#settings/api-keys).
3. Under environment variables, click **Add Variable**.
4. Enter a unique name (for example: `ASANA_API_KEY`).
5. Paste your API key and click **Save**.

Cody can then use that variable when it builds workflows. Credentials stay stored securely.

### 3. Build your workflow

Tell Cody you want a workflow that uses your connected app, and that the key is saved as `VARIABLE_NAME` in your environment variables.

* Cody looks up the app’s documentation and sets up the integration.
* If the docs aren’t public, paste the relevant Markdown or text into chat — Cody will use that to finish the setup.

### FAQs

<details>

<summary>How do I add my API key to CodeWords?</summary>

Go to [Settings → API Keys](https://codewords.agemo.ai/#settings/api-keys) → **Add Variable**, enter a unique name (for example `ASANA_API_KEY`), paste your key, and save. CodeWords stores it securely and uses it when building workflows.

</details>

<details>

<summary>How does Cody use my API key?</summary>

When you ask Cody to build a workflow with your app, it references your saved variable, connects securely, and sets up the integration without exposing your key.

</details>

<details>

<summary>What if my app’s documentation isn’t public?</summary>

Paste the relevant API docs or Markdown into chat with Cody. It will use that information to complete the integration.

</details>

<details>

<summary>Is my API key safe in CodeWords?</summary>

Yes. Keys are encrypted and stored in your environment. They aren’t shared or exposed outside your workspace.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.codewords.ai/automations/external-api-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
