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 init

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

GitHub'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:

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 owns

Ask

getstream agents test assistant --sync

Ask: "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