# Custom backends If none of our backends fits your usecases, you can write your own. Therefore, implement the interface `"go.woodpecker-ci.org/woodpecker/woodpecker/v2/pipeline/backend/types".Backend` and build a custom agent using your backend with this `main.go`: ```go package main import ( "go.woodpecker-ci.org/woodpecker/v2/cmd/agent/core" backendTypes "go.woodpecker-ci.org/woodpecker/v2/pipeline/backend/types" ) func main() { core.RunAgent([]backendTypes.Backend{ yourBackend, }) } ``` It is also possible to use multiple backends, you can select with [`WOODPECKER_BACKEND`](../15-agent-config.md#woodpecker_backend) between them.