Create Integrations

View as Markdown
  • POST
  • /workspaces
  • /:workspace
  • /integrations

Add a new integration to the workspace

Request

REQUIRED SCOPES
INTEGRATION_WRITE
URL PARAMETERS
workspacerequiredstring
The human-readable ID of the workspace

Example: "my-company"

BODY PARAMETERS
typerequiredstring enum
The type of integration
Allowed enum:
GIT_HUB,
BITBUCKET,
GOOGLE,
DIGITAL_OCEAN,
SLACK,
MODULUS,
HEROKU,
AMAZON,
GIT_LAB,
SHOPIFY,
GIT_HUB_ENTERPRISE,
GIT_LAB_ENTERPRISE,
PUSHOVER,
PUSHBULLET,
RACKSPACE,
CUSTOM,
CLOUDFLARE,
NEW_RELIC,
SENTRY,
ROLLBAR,
DATADOG,
DO_SPACES,
HONEYBADGER,
VULTR,
SENTRY_ENTERPRISE,
LOGGLY,
HIP_CHAT,
FIREBASE,
TELEGRAM,
AZURE,
UPCLOUD,
GHOST_INSPECTOR,
NETLIFY,
AZURE_CLOUD,
MICROSOFT_TEAMS,
GOOGLE_SERVICE_ACCOUNT,
GOOGLE_PLAY_STORE,
DOCKER_HUB,
APP_STORE,
GIT_HUB_APP,
GIT_HUB_APP_ENTERPRISE,
GIT_HUB_API,
ATOP,
SNYK,
STACK_HAWK,
BLACKFIRE,
BACKBLAZE,
ONE_LOGIN,
OKTA,
CONTENTFUL,
JIRA,
NPM_REGISTRY,
ANTHROPIC,
GOOGLE_GEMINI,
OPEN_AI,
CURSOR,
OPENCODE,
CLICKUP,
GROK
namerequiredstring
The name of the integration
scoperequiredstring enum
The scope of the integration
Allowed enum:
WORKSPACE,
PROJECT,
ENVIRONMENT
identifierstring
A human-readable ID of the integration
tokenstring
The authentication token for services like GitHub, GitLab, DigitalOcean
emailstring
Email address associated with the integration
api_keystring
The API key for services that use key-based authentication
access_keystring
The access key ID for AWS or DigitalOcean Spaces
secret_keystring
The secret access key for AWS or DigitalOcean Spaces
partner_tokenstring
Partner token for specific integrations
shopstring
The shop name for Shopify integrations
urlstring
The integration URL
chat_idstring
The chat ID for messaging integrations
git_hub_user_idstring
The GitHub user ID
git_hub_user_namestring
The GitHub username
usernamestring
The username for authentication
passwordstring
The password for Azure Cloud, UpCloud, or DockerHub
app_idstring
The application ID for Azure Cloud integrations
tenant_idstring
The tenant ID for Azure Cloud integrations
subscription_idstring
The Azure subscription ID (optional, required when the tenant has multiple subscriptions)
client_idstring
The client ID for OAuth-based integrations
client_tokenstring
The client token for authentication
server_idstring
The server ID for Discord integrations
server_tokenstring
The server token for authentication
key_idstring
The key ID for various integrations
application_keystring
The application key for Datadog integrations
host_urlstring
The host URL for custom integrations
webhook_addressstring
The webhook URL for receiving notifications
slack_user_idstring
The Slack user ID
regionstring
The New Relic region. Can be one of US or EU (type NEW_RELIC)
organizationstring
The Sentry organization slug; when set, a webhook trigger is registered for this organization (type SENTRY)
click_up_workspacestring
The ClickUp workspace (team) id this integration is bound to
role_assumptionsRoleAssumptionView[]
AWS IAM role assumptions for cross-account access
all_pipelines_allowedboolean
Set to true to allow all pipelines to use this integration
allowed_pipelinesPipelineIdView[]
List of specific pipelines allowed to use this integration
permissionsIntegrationPermissionsView
Permission settings defining who can use this integration
auth_typestring enum
The authentication method used by the integration
Allowed enum:
OAUTH,
TOKEN,
API_KEY,
APP,
APP_SPRYKER,
TOKEN_APP_EXTENSION,
DEFAULT,
OIDC,
TRUSTED,
APP_RW
target_urlstring
The target URL for webhook-based integrations
refresh_tokenstring
The refresh token for OAuth flows
audiencestring
The JWT audience for token validation
configstring
Additional configuration data in JSON format
google_projectstring
The Google Cloud project ID
atop_urlstring
The ATOP service URL
disabledboolean
Set to true to disable the integration. Disabled integrations cannot be used in actions
notestring
Note for this resource
agent_notestring
YAML note for AI agents operating on this resource
project_namestring
The human-readable ID of the project (required when scope is PROJECT)
environment_idinteger
The ID of the environment (required when scope is ENVIRONMENT)

Response

RESPONSE BODY
typestring enum
The type of integration
Allowed enum:
GIT_HUB,
BITBUCKET,
GOOGLE,
DIGITAL_OCEAN,
SLACK,
MODULUS,
HEROKU,
AMAZON,
GIT_LAB,
SHOPIFY,
GIT_HUB_ENTERPRISE,
GIT_LAB_ENTERPRISE,
PUSHOVER,
PUSHBULLET,
RACKSPACE,
CUSTOM,
CLOUDFLARE,
NEW_RELIC,
SENTRY,
ROLLBAR,
DATADOG,
DO_SPACES,
HONEYBADGER,
VULTR,
SENTRY_ENTERPRISE,
LOGGLY,
HIP_CHAT,
FIREBASE,
TELEGRAM,
AZURE,
UPCLOUD,
GHOST_INSPECTOR,
NETLIFY,
AZURE_CLOUD,
MICROSOFT_TEAMS,
GOOGLE_SERVICE_ACCOUNT,
GOOGLE_PLAY_STORE,
DOCKER_HUB,
APP_STORE,
GIT_HUB_APP,
GIT_HUB_APP_ENTERPRISE,
GIT_HUB_API,
ATOP,
SNYK,
STACK_HAWK,
BLACKFIRE,
BACKBLAZE,
ONE_LOGIN,
OKTA,
CONTENTFUL,
JIRA,
NPM_REGISTRY,
ANTHROPIC,
GOOGLE_GEMINI,
OPEN_AI,
CURSOR,
OPENCODE,
CLICKUP,
GROK
urlread-onlystring
API endpoint to GET this object
html_urlread-onlystring
Web URL to view this object in Buddy.works
identifierstring
A human-readable ID of the integration
hash_idstring
The unique hash ID of the integration
namestring
The name of the integration
auth_typestring enum
The authentication method used by the integration
Allowed enum:
OAUTH,
TOKEN,
API_KEY,
APP,
APP_SPRYKER,
TOKEN_APP_EXTENSION,
DEFAULT,
OIDC,
TRUSTED,
APP_RW
scopestring enum
The scope of the integration
Allowed enum:
WORKSPACE,
PROJECT,
ENVIRONMENT
project_namestring
The human-readable ID of the project (required when scope is PROJECT)
app_idstring
The application ID for Azure Cloud integrations
google_projectstring
The Google Cloud project ID
host_urlstring
The host URL for custom integrations
webhook_addressstring
The webhook URL for receiving notifications
organizationstring
The Sentry organization slug; when set, a webhook trigger is registered for this organization (type SENTRY)
audiencestring
The JWT audience for token validation
atop_urlstring
The ATOP service URL
permissionsIntegrationPermissionsView
Permission settings defining who can use this integration
all_pipelines_allowedboolean
Set to true to allow all pipelines to use this integration
allowed_pipelinesShortPipelineView[]
List of specific pipelines allowed to use this integration
disabledboolean
Set to true to disable the integration. Disabled integrations cannot be used in actions
notestring
Note for this resource
agent_notestring
YAML note for AI agents operating on this resource

Last modified on Apr 22, 2026

Examples

Example: GitHub Integration

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "type": "GIT_HUB", "identifier": "my-github-integration", "name": "GitHub Integration", "token": "ghp_xxxxxxxxxxxxxxxxxxxx", "scope": "PROJECT", "project_name": "my-project", "all_pipelines_allowed": true }'

Example: GitHub with Username

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "identifier": "my_identifier", "name": "my_name", "type": "GIT_HUB", "scope": "WORKSPACE", "username": "Buddy", "token": "0123456789abcdef0123456789abcdef0123456789" }'

Example: GitLab Integration

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "type": "GIT_LAB", "identifier": "my-gitlab-integration", "name": "GitLab Integration", "token": "glpat-xxxxxxxxxxxxxxxxxxxx", "scope": "WORKSPACE", "all_pipelines_allowed": true }'

Example: AWS with Access Keys

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "type": "AMAZON", "identifier": "aws-token-integration", "name": "Amazon Web Services (Token)", "access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "scope": "PROJECT", "project_name": "my-project", "all_pipelines_allowed": true }'

Example: AWS with Role Assumptions

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "name": "Buddy AWS integration", "type": "AMAZON", "scope": "PROJECT", "project_name": "company-website", "access_key": "AKIAIOSFODNN7EXAMPLE", "secret_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "identifier": "my_aws_integration", "role_assumptions": [ { "arn": "arn:aws:iam::123457465779:role/TESTS", "external_id": "ext_id", "duration": 9000 } ], "all_pipelines_allowed": false, "permissions": { "admins": "MANAGE", "others": "DENIED", "users": [ { "id": 1, "access_level": "USE_ONLY" } ], "groups": [ { "id": 1, "access_level": "USE_ONLY" } ] }, "allowed_pipelines": [ { "id": 1 } ], "note": "Notes about this resource", "agent_note": "my_custom_field: note for agent" }'

Example: AWS OIDC

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "name": "Buddy (OIDC)", "type": "AMAZON", "scope": "WORKSPACE", "role_assumptions": [ { "arn": "arn:aws:iam::344897465719:role/my-oidc-role", "duration": 1234 } ], "auth_type": "OIDC", "audience": "tests" }'

Example: Microsoft Azure

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "type": "AZURE", "identifier": "azure-integration", "name": "Microsoft Azure", "tenant_id": "12345678-1234-1234-1234-123456789012", "subscription_id": "87654321-4321-4321-4321-210987654321", "app_id": "app-id-example", "password": "app-password-example", "scope": "WORKSPACE", "all_pipelines_allowed": true }'

Example: Docker Hub

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "type": "DOCKER_HUB", "identifier": "dockerhub-integration", "name": "Docker Hub", "username": "my-docker-user", "password": "example-app-password", "scope": "PROJECT", "project_name": "my-project", "all_pipelines_allowed": false, "allowed_pipelines": [ { "id": 123 }, { "id": 456 } ] }'

Example: DigitalOcean

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "identifier": "my_digital_ocean", "name": "digitalocean", "type": "DIGITAL_OCEAN", "scope": "WORKSPACE", "token": "dop_v1_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" }'

Example: Google Service Account

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "identifier": "qljfpaaipt", "name": "slskopytko", "type": "GOOGLE_SERVICE_ACCOUNT", "scope": "WORKSPACE", "api_key": "{\n \"type\": \"service_account\",\n \"project_id\": \"example\",\n \"private_key_id\": \"0000000000000000000000000000000000000000\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQEXAMPLEKEY\\n-----END PRIVATE KEY-----\\n\",\n \"client_email\": \"example@example.iam.gserviceaccount.com\",\n \"client_id\": \"000000000000000000000\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/example%40example.iam.gserviceaccount.com\"\n}\n", "auth_type": "DEFAULT" }'

Example: New Relic

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "name": "buddy", "type": "NEW_RELIC", "scope": "WORKSPACE", "token": "NRAK-0123456789ABCDEFGHIJKLMNOP", "region": "US" }'

Example: ClickUp Integration

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "identifier": "our-clickup-prod", "name": "ClickUp (Prod)", "type": "CLICKUP", "scope": "WORKSPACE", "token": "pk_12345678_ABCDEFGHIJKLMNOPQRSTUVWXYZ012345", "click_up_workspace": "2154252" }'

Example: Environment-scoped integration

curl -X POST "https://api.buddy.works/workspaces/:workspace/integrations" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "Content-Type: application/json" \ -d '{ "type": "DIGITAL_OCEAN", "identifier": "my_digital_ocean", "name": "digitalocean", "scope": "ENVIRONMENT", "environment_id": "3a4KbBQl", "token": "dop_v1_0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" }'
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/my-company/integrations/NLVaDzgp6W2qJljaQlJOoYdmZ3", "html_url": "https://app.buddy.works/my-company/-/workspace/integrations/NLVaDzgp6W2qJljaQlJOoYdmZ3", "hash_id": "NLVaDzgp6W2qJljaQlJOoYdmZ3", "name": "GitHub Integration", "type": "GIT_HUB", "identifier": "my-github-integration", "scope": "WORKSPACE", "auth_type": "TOKEN", "webhook_address": "https://api.github.com/repos/username/repository/hooks", "all_pipelines_allowed": true, "allowed_pipelines": [], "disabled": false, "permissions": { "others": "USE_ONLY", "admins": "MANAGE", "users": [], "groups": [] }, "note": "Notes about this resource", "agent_note": "my_custom_field: note for agent" }
STATUS
201 Created