New KPMG Agentic ERP, now available with KPMG in 140+ countries Read the announcement

Configuring Company Memory in Astra

Category
AI Features
Guide
Admin guides
Reading
9 min read
On this page
  1. 01On this page
  2. 02What Company Memory Is For
  3. 03How Astra Uses Company Memory
  4. 04Accessing Company Memory
  5. 05What to Write
  6. 06Who Can Edit Company Memory
  7. 07When Changes Take Effect
  8. 08Frequently Asked Questions
  9. 09Good to Know
  10. 10Related Articles

What is this page about: Company Memory is the plain-text configuration that tells Astra (Light's autonomous financial agent) how to behave. This page defines what Company Memory is, what admins use it for, how to view and update it through the Light Command Interface (LCI), who is allowed to edit it, and how Astra writes its own learnings back into it during introspection.

On this page

  • What Company Memory Is For
  • How Astra Uses Company Memory
  • Accessing Company Memory
  • What to Write
  • Who Can Edit Company Memory
  • When Changes Take Effect
  • Frequently Asked Questions
  • Good to Know
  • Related Articles

Company Memory is where admins write custom instructions that guide how Astra operates for their company. Astra is Light's autonomous financial agent, the part of the Light platform that runs scheduled financial reviews on your behalf, so your team doesn't have to manually check the books every day. Admins use Company Memory to tailor Astra's behaviour to their team's specific workflows, policies, and communication preferences.

Astra reads Company Memory before every scheduled run: daily health checks, weekly reviews, monthly close memos, and introspection consolidation runs. Astra follows Company Memory directives strictly during each of these runs. Company Memory instructions supersede every other instruction Astra operates under, including Astra's default system prompt, triggers, and tool descriptions. This means an admin's Company Memory directive can override Astra's built-in workflow, not just add to it.

Company Memory is shared across all four of Astra's run types. An admin writes an instruction once, and that instruction applies to every run type automatically, with no separate configuration needed per run type.

What Company Memory Is For

Admins use Company Memory to tell Astra four categories of information:

  • Who should receive findings: the email address(es) and messaging channel (Slack, Teams, or the Light web app) where Astra should send its observations
  • Company-specific context: business rules, fiscal calendar dates, approval thresholds, entity structures, or other operational details Astra needs when interpreting the company's financial data
  • Custom workflows: steps Astra should take, or skip, when Astra detects specific conditions
  • Tone and formatting preferences: how Astra should structure its messages or reports

Company Memory content is plain text. Admins write directives in natural language, the same way they would brief a new team member. Company Memory requires no special syntax, schema, or markup.

Good to know: Company Memory (this page) is different from Assistant Instructions, a separate configuration. Assistant Instructions guide how Light's AI assistant (LCI) parses specific document types: bills, contracts, reimbursements, and other intake documents. Company Memory controls Astra's behaviour; Assistant Instructions controls LCI's document parsing. The two configurations serve different products and do not share content.

To find Assistant Instructions, navigate there step by step:

  1. Go to Settings
  2. Open Agents
  3. Open the relevant document agent (for example, Bill parsing agent)
  4. Edit the Instructions field
  5. Click Save

How Astra Uses Company Memory

Astra reads Company Memory at the start of every run and applies the admin's directives throughout that run. An admin's instructions remain in effect until the admin updates or removes them, with no expiration.

Astra also writes into Company Memory during introspection consolidation runs. During introspection consolidation, Astra reviews patterns it has observed across many prior runs, then distills those patterns into structured blocks. Astra writes two tags:

  • [astra:insight]: a pattern or rule Astra has learned about the company's operations
  • [astra:resolved]: a previously flagged issue that has since been addressed

A third tag, [astra:pattern], shows up in Astra's pruning rules, where it categorises recurring behaviour for cleanup purposes, rather than as a block Astra writes fresh in the same way as the two above.

These Astra-authored blocks accumulate over time. Admin-authored directives and Astra-generated blocks both live in the same memory, side by side.

Accessing Company Memory

Company Memory is written through the UPSERT_COMPANY_MEMORY tool, which admins can call through LCI, Light's built-in conversational AI assistant available wherever your team already works, or programmatically through the API. Viewing works differently: Light injects the current Company Memory directly into LCI's prompt, so there's no separate "read" tool involved. Asking LCI to show the memory just surfaces what's already in its context.

To view current Company Memory through LCI:

  1. Open the LCI interface (available in the web app, Slack, Teams, or the mobile app)
  2. Type: "Show me the current company memory"

To update Company Memory through LCI:

  1. Open the LCI interface
  2. Type: "Update company memory: [your new directive]"

UPSERT_COMPANY_MEMORY replaces the entire existing Company Memory with the content the admin provides. This call is a full overwrite, not an append.

Tip: Because UPSERT_COMPANY_MEMORY overwrites the full memory, copy the existing Company Memory content first, make the intended edits, then submit the full updated text. This workflow preserves existing directives and Astra-generated insights that the admin doesn't intend to remove.

What to Write

Company Memory supports any directive an admin can express in plain text. The examples below illustrate four common directive types.

Example 1, notification recipients:

Send all Astra findings to finance-ops@company.com via email.
  • Note: This is demo/placeholder data, not a real address. Light has no hardcoded recipient email. Astra sends findings only to the address and channel an admin writes into Company Memory.

Example 2, fiscal calendar context:

Our fiscal year ends March 31. Month-end close reviews should reference fiscal months, not calendar months.
  • Note: This is demo/placeholder data, not a real default. Light has no built-in fiscal year-end date. This text is example prose an admin would write to describe their own company's fiscal calendar.

Example 3, workflow instructions:

When you find overdue bills from vendors tagged "strategic," create a support ticket and notify ap-lead@company.com in Slack immediately.
  • Note: This is demo/placeholder data. "Strategic" is not a real vendor tag in the Light product, and the email address is not a real recipient. Both are illustrative only.

Example 4, approval threshold context:

Bills over $50,000 require CFO approval. Bills under $10,000 auto-approve after department head signs off.
  • Note: This is demo/placeholder data. Light has no fixed default approval thresholds in its code. Approval rules are configured per company through workflows, so these dollar amounts are examples, not built-in defaults.

Admins should write directives as clearly as they would write an internal wiki page or onboarding document. Astra interprets natural language. Admins don't need special syntax beyond the tags Astra itself uses: [astra:insight] and [astra:resolved] for what it writes, and [astra:pattern] for what it prunes.

Who Can Edit Company Memory

Company Memory is a company-level configuration. Only admins with appropriate permissions can view or update Company Memory, which is a company-wide rather than a per-user setting.

When Astra writes introspection blocks into Company Memory, Astra appends those blocks without overwriting the admin's existing directives. During introspection consolidation, Astra may prune its own blocks (those tagged [astra:insight], [astra:pattern], or [astra:resolved]) when those blocks are outdated, superseded, or duplicated. Astra never modifies or removes admin-authored content, which means any text not inside one of Astra's own tagged blocks.

When Changes Take Effect

Changes to Company Memory take effect immediately, on Astra's next scheduled run. Astra reads the latest Company Memory content at the start of each analysis; there is no caching and no delay. For example: if an admin updates Company Memory at 2:00 PM, and Astra's next daily health check runs at 2:15 PM, the new directives apply to that 2:15 PM run.

Frequently Asked Questions

What is Company Memory in Astra?

Company Memory is a plain-text, company-level configuration that admins use to control how Astra behaves across all of its scheduled runs.


Does Company Memory override Astra's default behaviour?

Yes. Company Memory instructions supersede Astra's default system prompt, triggers, and tool descriptions. An admin directive can change Astra's built-in workflow, not just supplement it.


What happens if Company Memory doesn't name a recipient?

Astra sends no message. Astra returns its findings only as JSON; Astra does not guess a recipient.


Does updating Company Memory append to the existing content, or replace it?

UPSERT_COMPANY_MEMORY replaces the entire existing content. Admins should copy the current memory, edit it, then resubmit the full text to avoid losing existing directives.


Can Astra delete an admin's Company Memory directives?

Astra prunes only its own tagged blocks ([astra:insight], [astra:pattern], [astra:resolved]), and only when those blocks are outdated, superseded, or duplicated. Admin-authored content is never modified or removed.


Is "daily" health check literally every 24 hours?

Astra sets its own check-in interval, with a default of roughly 6 hours, so timing varies between runs rather than following a fixed 24-hour schedule.


Is Company Memory the same as Assistant Instructions?

They are two separate configurations. Company Memory controls Astra's behaviour, and Assistant Instructions controls how LCI parses document types like bills, contracts, reimbursements, and other intake documents.

To find Assistant Instructions, navigate there step by step:

  1. Go to Settings
  2. Open Agents
  3. Open the relevant document agent (for example, Bill parsing agent)
  4. Edit the Instructions field
  5. Click Save

Good to Know

  • Memory is shared across all Astra analysis types: a directive an admin writes for daily health checks also applies to weekly reviews, monthly close memos, and introspection runs
  • Astra's own blocks grow over time: introspection consolidation appends new insights as Astra learns; this is intentional and helps Astra build institutional knowledge
  • Astra prunes its own blocks sparingly during consolidation: pruning is not based on memory size. Astra removes only its own ([astra:*]) blocks, and only when they are clearly outdated (for example, resolved items more than a few days old), superseded, or duplicated. Admin content is never automatically removed
  • Company Memory is plain text: no special schema, no YAML, no JSON, and admins write in natural language
  • No recipient means no message: if Company Memory doesn't name a recipient, Astra sends nothing and only returns findings as JSON. Admins should always include a "who should receive this" directive if they want notifications delivered
  • "Daily" is approximate: health checks aren't on a fixed daily cron. Astra sets its own check-in interval, with a default check interval of roughly 6 hours, so timing can vary run to run

Was this article helpful?