Skip to main content
Paid Feature — Xero Streams requires a connected Xero source on any paid plan (Starter, Pro, Enterprise). If you haven’t set that up yet, start there first. See pricing.

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.

Supported Events

You can route any combination of these to any Slack channel. For example:
  • #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
  • Footervia 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:
Contact updated:
Credit note created:

Setup

1

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.
2

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.
3

Configure topics per channel

In the By Channel tab, click any Slack channel to choose which Xero events it receives. In the By Source tab, click any event type to see and edit which channels it routes to.

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 with 200 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.
For the best context capture, make sure you have AI summaries enabled on your Xero Pulse connection. Without AI, stream context is stored but not surfaced in delivery.