Deploy an agent
Create an agent, connect a channel, and keep it running in the background.
On this page
An agent needs three things before it is useful to other people: a model, a channel to listen on, and a daemon that stays up.
Create the agent
goat agent add
goat agent list
The command asks for a name and a model. Models from a custom provider are addressed as <provider>/<model>, so an agent can run on a local runtime just as well as a hosted one.
Connect a channel
A channel is where people talk to the agent. Discord and Slack channels run under their own bot identities, so the agent posts as itself rather than as you.
goat channel add slack
goat channel list
Channel credentials are not integration credentials. The Slack channel uses bot credentials to send and receive messages. The Slack integration uses a user token to search workspace history on your behalf. Adding one does not grant the other.
Keep it running
goat code starts the daemon on demand and stops it when you are done. An agent that has to stay connected needs the daemon running independently:
goat daemon start
goat daemon status
The daemon detaches from the terminal and stays resident until you stop it with goat daemon stop. goat does not register a system service, so it will not come back on its own after a reboot.