Skip to main content
Build and manage custom integrations. Each subcommand has its own section below, in alphabetical order. The version and operation groups list their subcommands in their own sections. Most commands take an integration identifier: an integration ID or a full name such as myorg~my-service. A typical flow for a new integration looks like this:

archive

Archive an integration.
To restore an archived integration, use unarchive. To see your archived integrations, run guild integration list --owner <account> --include-archived.

connect

Connect an API key credential to an integration.
connect works only for integrations that use API key authentication. Connect OAuth integrations in the Guild web app.

create

Create a new integration. guild integration create also registers an initial draft version and prints its ID, so you can define operations without running guild integration version create first.
Guild validates the --base-url, --install-url, and --token-url values to prevent server-side request forgery (SSRF). Private network ranges, loopback addresses (such as localhost or 127.0.0.1), and internal DNS names are blocked. For local development, expose your service using a tunneling tool such as ngrok or Localtunnel and use the public URL.

get

Get an integration’s details.

list

List integrations. Without --owner, the command lists all integrations.

operation

Manage the operations (endpoints) on an integration version. Both subcommands use the latest version unless you pass --version-number.

operation create

Add operations to an integration version, one at a time or imported from an OpenAPI spec.
Without --openapi, you need --operation, --method, and --path. In an interactive terminal, the CLI prompts for any you leave out. With --openapi, Guild generates the operations asynchronously. Run guild integration operation list to check the results.

operation list

List the operations on an integration version.
Search integrations.

unarchive

Restore an archived integration.

update

Update an integration’s settings.
The same SSRF validation described under create applies to --install-url and --token-url.
Publishing freezes the endpoint URL, and the OAuth authorization and token URLs with it. Until the integration’s first version is published, the owner can still change them — nothing is installed against the integration yet. Once a version is published, users install credentials against those URLs, so Guild refuses to let the owner repoint them at another server. The whole update is rejected with a 403, not just the URL field, so a request that changes a URL alongside other settings saves none of them. To serve a different endpoint, create a new integration.

version

Manage integration versions. Unless noted, subcommands that accept --version-number use the latest version when you leave it out.

version build

Build (validate) a draft version and assign it a semantic version number.

version create

Create a new draft version.

version get

Get a version’s details.

version list

List an integration’s versions.

version publish

Publish a built version. The command waits until the version is published.
Publishing freezes the integration’s endpoint and OAuth URLs. See update.

version test

Test an operation on an integration version. The command prints the request URL and the response status.
Last modified on October 15, 2026