Create

  • POST
  • /workspaces
  • /:workspace
  • /integrations

Add a new integration to the workspace

Request

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

Example: "my-company"

POST 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
identifierstring
A human-readable ID of the integration
namerequiredstring
The name 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
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 cloud region (e.g., us-east-1, eu-west-1)
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
scoperequiredstring 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)

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
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
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

Last modified on Jan 26, 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": "12bd78f43e3dcad41afd13f69429a00a0c8a18dcf2" }'

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": "AKIAVASPKE3ZWWV7V5BI", "secret_key": "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", "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 } ] }'

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": "docker-hub-token-or-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_e5b1c199475559a23a4c148f5ef7264f4456ceed6fa2a9e19b506ab34ba83740" }'

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\": \"buddy\",\n \"private_key_id\": \"97c7fbe597f688c45eb5e4ef0bf7cd6f68959cad\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDweDgPi1cbAabJ\\n/ZT9b3uIUF7CyuZSg2/l6VMy3AcQXw90XNKv6OAq9WEhgmHdTS6eUCCRR5G4HiiY\\nw02pImtl1wWWqt7qBrgZgcvUcQ0CAh0/qUCuGCPFQ/XPbLJ2J/WQRcoEM3PsoEIn\\ndP7uJf22Cm5tCJCElrlQ8OmwzGzS5+O8eXG1AhWAqWVnOVZgpfhnhAxB00XGXZpR\\nvrvTKfKPNjvMQDMBM9yU8xZ4LYO8r3CftfSC+HQRiZXCPw4cjZ6/Ebq7TNFfwjuB\\nDrvgkitbNWYW8CzNRiGDplT+I6h8ea8uE8D4dWocPAC4M3sHb2JPExarzXNnFLmq\\n7JBr7j03AgMBAAECggEAd/y0lGUFsK8RR0al2hOPg0P/FJljdZap9gGHhyAs0ils\\nr7ZFVosPl7/amHrTVDZX5Zy7s2IPvtwli5wgGx3WkvlIi5Z1Jjb2E5wlVbqXMAJY\\nD9TnNjdLWfoAJGDrZ5Om3zdDhvcZh9+rQr7pGXGReA0aboNQgSgoDdA4GvQV9OHS\\nrWDyvcY6xWCy80iJE9jYjK5rPuaFUciJyAOoCXi80pMbmNrabjoTFv0hMDslesyC\\nP5TpppSsswr0ag8m400YakyzFJyzBFIteGX7hUcumNgsP1gevikdnspSX3uNjGFK\\nnwBcV49Hg9He3KjP7wP3mLxz58px56q7gWAtv46CAQKBgQD6p/Iy4BfBKGJ9hUC1\\npTLQ53he9BFB9xqALdLyOyK8UWeJupo6XOAUlqKnd0PJsjkdcoYyJomIlJEk6Jd3\\nUOZmiv5upkqtXtGCby20wkJPK4Lm80RC0akdvRUVjfudAgFNjuWlIPn4gfQ+p/sW\\nyf66G9l87mfWBm9vzn6v9XFENwKBgQD1mK0qcMv7Xn03p8MwCbJDvcYNATZqTEzW\\nGzRZeRV3HSO8PQvJXWun212zmBgw8M7rdLbgn0lDN3S/AIjOyg5qycOFgtYRrU6O\\nmn+iTQTnM2jmbjQwpAl0+gJKSDlKcZAKALs1AtDiLQHKE1qvAOss22MGI6Zv6qA8\\n32oSORBPAQKBgQDOTDnP25ZReN6O9oRKvDt1qnzska4+f5UFGDH9AeTV3536wmU7\\nUcNvzobyk/tr3s6ZSO/gCM27ZqOLIA/BuQjYLt+iZfcid96xnrWchyGyLVqgoGl3\\nIT4yZrQauG/1SnguEEU7wkdaXALdKr5ChF+tZ0x6QXGeuk8vU2H7imP9wwKBgD8N\\nAD/qD2QsQOdd6W1Wv+5GNSc3jXnCtuMsvsbNoCYhVABKh9Eda7r/RVILFQLTf7vR\\nDfYizpM0FIPIpla4ZvUhcVHAYibNoGjZ5bSMI1sbxq2J01o9crQWTyo02ohzGTCI\\nOYeFfoziUxhG2bwd90Jf3E9CLcODr7mQ/dFJ1xcBAoGAMi5qGvMgpi5cjdAZ4pC+\\n3TIJ5ZXjoTBtC9tKwPWw7tREQK9I4VtWDicJ6psfYhGfg4vYbuW80TJ5NLukyp3O\\npylWCauLck/BPS2Q3SSyQ4Fi8fc2upsMqV0Ta3X1XEMBL8+Q5G1kuSwxN4xC+U0u\\n9gKF73devYKj9xkrSEnDF4E=\\n-----END PRIVATE KEY-----\\n\",\n \"client_email\": \"buddy@buddy.iam.gserviceaccount.com\",\n \"client_id\": \"105237793416275966994\",\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/buddy%40buddy.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-F9LDREIBQN0NUI56NJYRB1DHR3Z", "region": "US" }'
EXAMPLE RESPONSE
{ "url": "https://api.buddy.works/workspaces/my-company/user/integrations/abc123def456", "html_url": "https://app.buddy.works/my-company/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": [], "permissions": { "others": "USE_ONLY", "admins": "MANAGE", "users": [], "groups": [] } }
STATUS
201 Created