Overview
An agent gets far more useful once it can reach the tools your team already uses. For instance, your support agent can check GitHub to answer "Is the login bug fixed yet?"
What connects to an agent
| Kind | What it does | Learn more |
|---|---|---|
| Connector | gives the agent tools to call, such as GitHub's list_issues |
Catalog |
| Channel | lets people talk to the agent in Slack, WhatsApp, iMessage or SMS | Channels |
| Your function | runs your own code when the agent calls it | Tool calling and dispatch |
Your function runs in your server, or in your app on the user's device or in their browser, and the agent gets only its answer.
Quickstart
Get the CLI and pick your app
The getstream agents commands are only in the beta CLI. Install it, then pick or create the Stream app your agent runs in:
curl -fsSL https://getstream.io/cli/beta/install.sh | bash
getstream initFor more, see Stream app setup.
Connect GitHub
Connect the company's GitHub account as an app connection labelled company:
getstream agents connections create github --label companyGitHub's consent opens in your browser. Sign in as the company's GitHub account and click Authorize. The CLI prints Connected: github / company.
To stay in the terminal, pass a GitHub token on stdin instead, such as the GitHub CLI's:
gh auth token | getstream agents connections create github --label company --token -Name it in the agent
In your project folder, create agents/assistant/agent.yaml:
name: assistant # an internal assistant for your team
mode: text
llm: llm-fast
connectors:
- name: github
connection: company # the label of a connection the app ownsAsk
getstream agents test assistant --syncAsk: "What are the open issues in GetStream/awesome-ai-news?" The CLI prints Tool github__list_issues ran, and the agent lists the open issues.
Whose account
A connector named alone, such as - linear, uses a user connection: each user's own account. Add connection to use an app connection, one account the app owns:
| Whose account | In agent.yaml |
Who connects it | Example | Learn more |
|---|---|---|---|---|
| App connection | connection, a label or an id |
you, once, with the CLI or in the Dashboard | the company's GitHub | App connection |
| User connection | a name alone, such as - linear |
each user, in the Dashboard test chat or on a page of your app | their Linear issues | User connection |
We recommend an app connection for company tools like GitHub, so your users never have to sign in. Use a user connection when the agent should act as that person, for instance to answer "Which Linear issues are assigned to me?"
Going further
Every built-in connector, what it does, and how it signs in.
One account the app owns, for every conversation.
Let each user connect their own account, from the dashboard or your own app.
Any MCP server: a public one, or one behind a key.
See a connection's tools and offer only the ones the agent needs.
Let code in the agent's sandbox call a connector's API.
How each connector signs in, and how to use your own OAuth client.
Errors you may see, why, and what to do.
Every channel, what it needs, and which one to start with.