Files
infisical/docs/integrations/app-connections/netlify.mdx
Sid 79de7c5f08 feat: Add Netlify app connection and secrets sync (#4205)
* fix: save wip

* feat: final impl

* feat: docs

* Update backend/src/services/app-connection/digital-ocean/digital-ocean-connection-service.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* chore: remove empty conflict files

* Update backend/src/server/routes/v1/app-connection-routers/app-connection-router.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update frontend/src/components/secret-syncs/forms/schemas/digital-ocean-app-platform-sync-destination-schema.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update frontend/src/components/secret-syncs/forms/schemas/digital-ocean-app-platform-sync-destination-schema.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update frontend/src/components/secret-syncs/forms/SecretSyncDestinationFields/DigitalOceanAppPlatformSyncFields.tsx

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update backend/src/services/secret-sync/digital-ocean-app-platform/digital-ocean-app-platform-sync-schemas.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* fix: lint

* feat: Netlify app connection and secrets sync

* feat: docs

* fix: type check

* fix: api client

* fix: lint and types

* fix: typecheck lint

* fix: docs

* fix: lint

* fix: lint

* fix: PR changes

* fix: typecheck

* fix: PR changes

* fix PR changes

* fix: PR Change

* fix: type error

* Small tweaks

* fix: support is_secret

* fix: revert is_secret

* fix: force update existing netlify secret

---------

Co-authored-by: sidwebworks <xodeveloper@gmail.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: x032205 <x032205@gmail.com>
2025-08-01 00:24:40 +05:30

103 lines
3.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Netlify Connection"
description: "Learn how to configure a Netlify Connection for Infisical."
---
Infisical supports the use of [Personal Access Tokens](https://docs.netlify.com/api/get-started/#get-access-tokens) to connect with Netlify.
<Note>
Netlify requires the token to have **full access** to enable secret management for your sites and services.
</Note>
## Create a Netlify Personal Access Token
<Steps>
<Step title="From your Netlify dashboard, click on your user avatar and go to 'User settings'">
![Netlify User Settings](/images/app-connections/netlify/app-connection-profile.png)
</Step>
<Step title="In the left sidebar, click on 'Applications' and scroll to 'Personal Access Tokens'">
![Applications Tab](/images/app-connections/netlify/app-connection-create-api-key.png)
</Step>
<Step title="Click 'New access token'">
Provide a name for your token and generate it.
![Token Form](/images/app-connections/netlify/app-connection-create-form.png)
</Step>
<Step title="Copy the token securely">
Make sure to copy the token now—you wont be able to access it again.
![Token Generated](/images/app-connections/netlify/app-connection-key-generated.png)
</Step>
</Steps>
## Create a Netlify Connection in Infisical
<Tabs>
<Tab title="Infisical UI">
<Steps>
<Step title="Navigate to App Connections">
In your Infisical dashboard, go to **Organization Settings** and open the [**App Connections**](https://app.infisical.com/organization/app-connections) tab.
![App Connections Tab](/images/app-connections/general/add-connection.png)
</Step>
<Step title="Select Netlify Connection">
Click **+ Add Connection** and choose **Netlify Connection** from the list of integrations.
![Select Netlify Connection](/images/app-connections/netlify/app-connection-option.png)
</Step>
<Step title="Fill out the Netlify Connection form">
Complete the form by providing:
- A descriptive name for the connection
- An optional description
- The API Token from the previous step
![Netlify Connection Modal](/images/app-connections/netlify/app-connection-form.png)
</Step>
<Step title="Connection created">
After submitting the form, your **Netlify Connection** will be successfully created and ready to use with your Infisical projects.
![Netlify Connection Created](/images/app-connections/netlify/app-connection-generated.png)
</Step>
</Steps>
</Tab>
<Tab title="API">
To create a Netlify Connection via API, send a request to the [Create Netlify Connection](/api-reference/endpoints/app-connections/netlify/create) endpoint.
### Sample request
```bash Request
curl --request POST \
--url https://app.infisical.com/api/v1/app-connections/netlify \
--header 'Content-Type: application/json' \
--data '{
"name": "my-netlify-connection",
"method": "access-token",
"credentials": {
"accessToken": "[ACCESS TOKEN]"
}
}'
```
### Sample response
```bash Response
{
"appConnection": {
"id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
"name": "my-netlify-connection",
"description": null,
"version": 1,
"orgId": "abcdef12-3456-7890-abcd-ef1234567890",
"createdAt": "2025-07-19T10:15:00.000Z",
"updatedAt": "2025-07-19T10:15:00.000Z",
"isPlatformManagedCredentials": false,
"credentialsHash": "d41d8cd98f00b204e9800998ecf8427e",
"app": "netlify",
"method": "access-token",
"credentials": {}
}
}
```
</Tab>
</Tabs>