docs/integrations/app-connections/octopus-deploy.mdx
Infisical supports the use of API Keys to connect with Octopus Deploy.
Octopus Deploy supports two methods for creating API keys: via a user profile or via a service account.
<Tabs> <Tab title="Service Account API Key (Recommended)"><Steps>
<Step title='Navigate to Service Accounts'>
From your Octopus Deploy dashboard, go to **Configuration** > **Users** and click on the **Create Service Accounts** button.

</Step>
<Step title='Create a new Service Account'>
Provide:
- Username: A name for the service account
- Display Name: A display name for the service account
Then click **Save**.

</Step>
<Step title='Create a Team'>
Navigate to **Configuration** > **Teams** and click **Add Team**.

Provide:
- New Team Name: A name for the team
- Team Description(optional): A description for the team
- Select the team access type:
- Accessible in the `current` space only
- Accessible in all spaces(system team)

Then click **Save**.
</Step>
<Step title='Add Service Account to Team'>
After creating the team, you will be redirected to the team details page. Click on the **Add Members** button.

Select the service account you created in the previous step and click **Add**.

</Step>
<Step title="Add User Role to the team">
After adding the service account to the team, Click on the **User Roles** tab and click **Include User Role** button.

Search for the **Project Contributor** role and click on the **Apply** button.

Click on the **Save** button.

</Step>
<Step title='Navigate to the API Keys section'>
After saving the team settings, we have to create an API key for the service account. Go back to **Configuration** > **Users** and find your service account. Click on the service account to view its details.
Click on the **API Keys** section and click **New API Key**.

</Step>
<Step title='Generate an API Key'>
Provide a purpose for the key and set an expiry date, then click **Generate New**.

</Step>
<Step title='Copy the API Key securely'>
Make sure to copy the API key now, you won't be able to access it again.

</Step>
</Steps>
<Tab title="User Profile API Key">
<Note>
Infisical recommends using a service account for production integrations as they provide better security and are not tied to individual user accounts.
</Note>
<Steps>
<Step title='Navigate to your user profile'>
From your Octopus Deploy dashboard, click on your profile in the bottom left corner and select **My profile**.

</Step>
<Step title='Navigate to the My API Keys section'>
In your profile settings, go to the **My API Keys** tab and click **New API Key**.

</Step>
<Step title='Create a new API Key'>
Provide a purpose for the key. Set an expiry date, then click **Generate New**.

</Step>
<Step title='Copy the API Key securely'>
Make sure to copy the API key now, you won't be able to access it again.

</Step>
</Steps>
### Sample request
```bash Request
curl --request POST \
--url https://app.infisical.com/api/v1/app-connections/octopus-deploy \
--header 'Content-Type: application/json' \
--data '{
"name": "my-octopus-deploy-connection",
"method": "api-key",
"projectId": "abcdef12-3456-7890-abcd-ef1234567890",
"credentials": {
"instanceUrl": "https://your-instance.octopus.app",
"apiKey": "[API KEY]"
}
}'
```
### Sample response
```json Response
{
"appConnection": {
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"name": "my-octopus-deploy-connection",
"description": null,
"projectId": "abcdef12-3456-7890-abcd-ef1234567890",
"version": 1,
"orgId": "abcdef12-3456-7890-abcd-ef1234567890",
"createdAt": "2025-10-13T10:15:00.000Z",
"updatedAt": "2025-10-13T10:15:00.000Z",
"isPlatformManagedCredentials": false,
"credentialsHash": "d41d8cd98f00b204e9800998ecf8427e",
"app": "octopus-deploy",
"method": "api-key",
"credentials": {
"instanceUrl": "https://your-instance.octopus.app",
}
}
}
```