Palm Pulse¶
Status: Shipped¶
Domain: Pulse Linear Projects: Palm Chat
What It Does¶
Palm Pulse is the intelligence layer — all reactive and proactive AI-powered features that help treasury teams get answers, insights, and alerts without manual effort.
The first Pulse feature is Palm Chat, an AI assistant embedded in the platform that lets treasury teams ask questions about their data in natural language. Behind the scenes, Palm Chat connects to the treasury data layer via MCP (Model Context Protocol), translating questions into queries against transactions, balances, forecasts, and more.
Beyond chat, Pulse will expand to include proactive intelligence: automated insights, anomaly notifications, and report delivery through channels like Slack — meeting treasurers where they already work.
Capabilities¶
| Capability | Status | Notes |
|---|---|---|
| Palm MCP (internal only) | Shipped | MCP server on Cloud Run for internal Palm team use only (via Claude/Cursor). BigQuery access, schema-first workflow. Restricted to @usepalm.com domain. |
| Palm Chat infrastructure | Shipped | Customer-facing chat with customer isolation via GCP service account impersonation, row-level security on customer_public_id |
| Palm Chat in platform | Shipped | Conversation threads, context management (last 20 messages + summarization), user summaries across 10 threads |
| AI Digest (homepage) | Shipped | LLM-generated daily summary with structured sections (balances, transactions, forecasts). Structured JSON validated against real records. |
| Customer Slack App foundations | Shipped | /ask slash command using same backend as Palm Chat |
| Scheduled agent workflows | In development | Data report agents that run on schedule, produce PDF/Excel output. Demoed internally. |
| Forecast referencing in chat | In development | Reference specific forecasts from the app to start chat with proper context |
| Pulse branding | Shipped | Renamed digest and chat to "Pulse" with icon change |
What's NOT Included (Yet)¶
- Natural language forecast scenario creation ("what if payroll is delayed 3 days?") — Simon prototyping
- Proactive anomaly alerts (push notifications when something unexpected happens)
- Personalized digest (learning from user behavior to customize blocks per role)
- Unstructured document ingestion (policies, investment terms as retrieval context — requires RAG)
- Chat toggle on every page (contextual chat referencing current dashboard)
- LLM-assisted flexible file ingestion for new data types
- Email-based intelligence delivery
How It Works (Technical)¶
| Component | Technology | Notes |
|---|---|---|
| MCP server | Cloud Run (Python) | First externally-exposed Python service. MCP tools imported directly as functions (no inter-service calls). |
| Data access | BigQuery + dbt | Silver + gold layers. Gold used ~80-90% of the time. |
| Security | GCP service account impersonation | Per-customer service accounts with row-level security on customer_public_id. Infrastructure-enforced — cannot be bypassed by prompt injection. |
| Schema discovery | dbt persist_docs + get_schema tool | LLM must retrieve schema before executing queries (eliminates hallucination). |
| Chat backend | Treasury API (Go) + Python AI service | Thread management in Go, generative AI in Python. Firebase tokens for auth. |
| Chat UI | Web app | Embedded in Palm platform |
| Slack integration | Slack App | /ask command, same backend as web chat |
Related¶
- Features: Treasury Data Layer, Reporting
Last updated: 2026-03-10