Xero Streams requires a connected Xero source. If you haven’t set that up yet, start there first.
Overview
Once your Xero organisation is connected, ChartCastr receives webhook events from Xero in real-time and forwards them to your configured Slack channels instantly — no polling, no delay. This complements your Xero Pulses (scheduled financial charts) by giving you immediate visibility into individual accounting events as they happen.| Xero Pulses | Xero Streams | |
|---|---|---|
| What you get | P&L, cash, and receivables charts on a schedule | Instant notification per event |
| When | Daily, weekly, or custom cron | The moment the event fires in Xero |
| AI summary | Yes — trend analysis + financial context | No (single event notification) |
| Best for | Weekly finance reviews, trend tracking | Real-time ops alerts, new invoice notifications |
Supported Events
| Event | Trigger |
|---|---|
| New Invoice | An invoice is created in Xero (any status) |
| Invoice Updated | An invoice is updated, approved, or marked as paid |
| New Contact | A new contact is created in Xero |
| Contact Updated | An existing contact is modified or archived |
| New Credit Note | A credit note is created |
| Credit Note Updated | A credit note is updated or applied to an invoice |
#finance→ New Invoice + Invoice Updated + New Credit Note#ops→ New Contact + Contact Updated#accounts→ all events
What Gets Sent to Slack
Each Slack notification includes:- Event type and emoji — e.g.
:receipt: New Invoice Created - A direct link to the record in Xero — click through to view the full invoice, contact, or credit note without leaving Slack
- Timestamp of when the event occurred in Xero
- Footer —
via ChartCastr Streams · Xero
Xero’s webhook payloads are intentionally minimal. Xero sends only the resource ID, event type, and timestamp — not the invoice amount, contact name, or other record details. The notification links directly to the record in Xero where you can see the full details. This is a Xero platform constraint, not a ChartCastr limitation.
Example notifications
New invoice created:Setup
Connect your Xero organisation
Go to Sources → Xero and complete the OAuth flow. ChartCastr requests read-only access to accounting reports and contacts — no write permissions.
Open Streams
Navigate to Streams in your dashboard. If Xero is connected and you have Slack set up, you’ll see the Xero stream configuration UI alongside any other sources.
Deduplication
ChartCastr deduplicates Xero webhook events using a key derived from the tenant ID, event sequence, and resource ID. If Xero retries a delivery (which it does on non-2xx responses), the duplicate event is silently dropped.Intent to Receive Validation
When you first enable Xero webhooks, Xero sends a validation request with an empty events array. ChartCastr handles this automatically — it verifies the HMAC signature and responds with200 OK. No action is required on your part.
Streams as Context for Xero Pulses
When a notable Xero event arrives via a Stream (e.g. a large new invoice), ChartCastr stores it as context attached to that moment in time. When your next Xero Pulse delivers your weekly P&L chart, the AI can surface that event in its analysis:“Revenue this week included a significant invoice created on Wednesday — this aligns with the spike visible in the weekly chart.”This is automatic — no manual notes required. The stream event is captured, timestamped, and made available to the AI when it runs your next Pulse.

