Portrait

User GuideIntegrations & API

Portrait in Slack

Copy for agent

The Portrait Slack app brings Easel, Portrait's AI equity analyst, into your workspace. Send it a direct message, or @mention it in a channel, and it answers with citations from SEC filings, earnings call transcripts, news, and consensus estimates.

Each Slack conversation is a persistent research session, and each person connects their own Portrait account once — so every question runs, and counts toward your research usage, as that analyst.

Install the app

A Slack workspace admin does this once. Open slack.portraitresearch.com/slack/install, choose your workspace, and approve the requested permissions. Portrait then appears in your workspace as Portrait.

To use it in a channel, invite it there like any other member (/invite @Portrait).

ℹ️ Using Portrait from Slack requires Easel access on your Portrait account. If Portrait replies that your account is not enabled for the Slack assistant yet, contact the team.

Connect your Portrait account

  1. Send the Portrait app a direct message — anything at all.
  2. It replies with a Connect Portrait button.
  3. Click it and sign in with your normal Portrait credentials, the same ones you use for the Portrait app.
  4. You get a confirmation message in Slack. That is it — the link is one-time, and every question from then on runs as your own Portrait account.

If your connection later expires or is revoked, the next message prompts you to reconnect.

Ask from a direct message

Send your question. Portrait sets a status while it works and streams the answer into the thread as it is written.

Reply in that thread to keep going — the conversation keeps its context, because the thread is one continuous session. A new top-level message starts a fresh session.

Portrait also has an App Home tab in Slack with instructions and example questions, and Slack's assistant pane offers suggested prompts to get you started. Send help in any conversation to get the same instructions and examples back.

Two more commands work in any conversation. feedback followed by a note"feedback the segment tables are great" — sends it straight to the Portrait team, and Portrait echoes back what it recorded. sign out disconnects your Portrait account from Slack and ends your open sessions; in a channel only you see the confirmation, and messaging Portrait again reconnects you.

Ask in a channel

In a channel you must @mention Portrait"@Portrait What did Microsoft management say about AI capex on the last three earnings calls?" A message that does not mention it starts nothing, whatever thread it lands in.

Two things follow from that:

  • Mention it inside an existing thread and it reads that thread first. The earlier messages are passed along with your question, so you can pull Portrait into a discussion already under way and ask about what was said. It reads only the thread it was mentioned in, only when mentioned, and only for that one answer — a mention that starts a new thread reads nothing.
  • A thread runs as whoever started it. If you @mention Portrait in someone else's thread, only you see a note asking you to start your own thread or DM the app — the question does not run, so nobody's research usage is charged to the wrong account.

Good to know

  • A conversation can be open in one place at a time. If Portrait says the conversation is currently open in the Portrait app, close it there and ask again.
  • Answers are plain Slack messages. Slack cannot render markdown tables, so a long or wide table reads better in the Portrait app — links in an answer open the underlying document there.
  • Long answers arrive as more than one message, split on paragraph boundaries.
  • Charts arrive as images. When Easel builds a chart, it is uploaded into the thread with the answer, which also keeps a link to open the chart in the Portrait app. If charts reach you as links only, ask an admin to re-run the install once — that is the permission to upload a file, and a workspace that installed Portrait earlier does not carry it yet.
  • Removing the app from your workspace stops it immediately. Reinstalling and reconnecting works as before.

For questions about access, contact the team.