Skip to main content

Account executives jump between CRM notes, renewal docs, and security packets to prep a single customer conversation. This puts those sources in one account workspace with evidence coverage, compact source sections, and an above-the-fold assistant thread — so the next call needs one tab, not nine.

Everything displayed comes from what your instance already knows about that account. The overview shows only the account name you set and counts taken straight from the Search results; assistant claims remain cited rather than turning loose search matches into unsupported CRM facts.

This recipe builds the page two ways: Platform Search plus Platform Chat for an open-ended dashboard, or Agents createRun for a prescriptive QBR-ready brief.

Account pageEvidence overview + sources + assistant thread
Path A: Search + Chatglean.search.query + glean.chat.create
Path B: Agentsglean.agents.createRun
Glean Platform APIpermission-aware retrieval + synthesis
Node 20 or newer
Your work email, so the sign-in command can find your Glean tenant. If your tenant cannot use OAuth, you need a Glean API token instead, scoped to the path you pick
The name of one of your own customers, spelled the way it appears in your Glean documents. You put that name in GLEAN_ACCOUNT_NAME, and the page is built around it. This is the customer you are reading about, not your own company or your Glean instance
Path B only: a conversational Account Brief agent in Agent Builder, whose ID you put in GLEAN_AGENT_ID. A form-triggered agent will not work
1

Pick a path

Both paths build the same page from the same content, and each has its own set of steps. Choose Platform Search Chat if you want the page to assemble the account itself, which is the better starting point. Choose Platform Agents if you already run an Account Brief agent and want the page to show what that agent says.

1

Copy the project onto your machine

Creates a customer-360 folder in whatever directory you run this from. Every command after this one runs inside that folder.

npx -y tiged@2.12.8 --mode=git gleanwork/glean-cookbook/recipes/customer-360/platform-search-chat customer-360
2

Install dependencies

Installs the Glean API client and the small local server that serves the page.

cd customer-360 && npm install
3

See it work before you connect anything

Runs the whole page against recorded answers for a fictional account named Globex, so you can see what it produces before you connect anything. This needs no Glean credentials.

cd customer-360 && npm run verify:fixture
4

Sign in to Glean

Your email is used once to find which Glean tenant you belong to, then a browser window opens for you to approve access. The command creates the .env file for you and fills in GLEAN_SERVER_URL and GLEAN_API_TOKEN. If your tenant has not enabled OAuth, skip this command and do it by hand instead: copy .env.example to .env, then fill in your Glean instance URL and a Glean API token that has the SEARCH and CHAT scopes.

cd customer-360 && npm run login -- --email "<work-email>"
5

Choose which customer the page is about

Signing in does not pick an account for you, so open .env and set GLEAN_ACCOUNT_NAME to one of your own customers, for example Acme Logistics. Spell it the way your Glean documents spell it, because the page searches your content for that exact name and builds the whole page from what it finds.

6

Check it against your own content

Takes 1 to 3 minutes. It starts its own server, asks your Glean instance the three demo questions about the account you chose, and fails if any answer comes back without citing a real document.

cd customer-360 && npm run verify
7

Open the page

Starts the server and prints a Local URL. Open that URL in your browser.

cd customer-360 && npm start
Take it further
  • Add a portfolio dashboard across a rep's whole book of business, with health and renewal countdown tiles per account.
  • Schedule a weekly headless job that re-runs the account's queries, diffs against the last run, and posts only what changed to Slack.
  • Wire push-to-CRM / push-to-Slack actions from the journey panel once you have a governed custom tool.

What's the status of our renewal with that account?

Returns a non-empty answer citing real documents about the account you built the page around. Substitute the name when you ask — there is no fixed query text for a page built around whichever account you pick.

Give me a customer summary

Synthesizes across more than one source with a citation per claim, rather than restating a single document.

What are the renewal risks?

Either names risks grounded in cited content, or says it has none to report. It must not infer risk the sources don't support, and the account overview must show only the account name you set plus counts taken straight from the Search results.

View source

Runs the recipe through the Glean cookbook plugin.

Auth

Platform Search Chat

Run the authenticate step on this page. It discovers your tenant from work email and signs you in with OAuth, using the shipped login command. If OAuth is unavailable, create a scoped Glean-issued token in Token Management (SEARCH, CHAT).

Platform Agents

Run the authenticate step on this page. It discovers your tenant from work email and signs you in with OAuth, using the shipped login command. If OAuth is unavailable, create a scoped Glean-issued token in Token Management (SEARCH, AGENTS).

At a glance
SurfacesPlatform API
StatusShowcase
Time~1 hr
Required scopes

Platform Search Chat

SEARCHCHAT

Platform Agents

SEARCHAGENTS