v2.4
Webhooks are live.
Three views your team will live in: every source as a row, every change as a line, every event as a webhook.
Sources
One row per connection
Name, kind, owner, last sync, state. The row is the source of truth for whether something is working.
Connected sources
Last sync · 12
Linear
2 min ago
Synced
Notion
6 min ago
Synced
HubSpot
1 hr ago
Delayed
GitHub
4 min ago
Synced
Figma
18 min ago
Synced
Change history · today
1,204
AR
Ana R. changed plan Starter → Team
09:41
JM
Jonas M. connected Postgres · 71 tables
09:12
PR
Priya R. pinned Stripe to Ops
08:58
TS
Tessel retried Stripe sync · 3 pending
08:57
AR
Ana R. added webhook ops.northwind.io
07:30
History
Every change, attributed
Who changed what, from which tool, and what it was before. Filter by person, field or day; export the range.
Webhooks & API
The same API we use
Signed events, six retries with backoff, a delivery log you can read. Nothing in the plane is out of reach of the API.
# Any change → your endpoint
POST https://ops.northwind.io/tessel
X-Tessel-Signature: sha256=9f2a…e41c
event: source.delayed · source: stripe · pending: 3
→ 202 Accepted · 41 ms · attempt 1/6
Five things Tessel does that the tab bar doesn’t. Each one is native — no plugins, no scripts, nothing to maintain.
Change history you can read
Every edit, every sync, every retry — with who, what and when. Diffs, not blobs.
Plan Starter → Team
Changed
Source Postgres connected
Synced
Stripe sync retried · 3 pending
Delayed
Webhooks that just fire
Any change on the plane can hit any endpoint. Signed, retried, logged.
POST /hooks/sync → ops.northwind.io 200
POST /hooks/plan.changed → billing.internal 200
POST /hooks/source.delayed → pager.northwind.io 202
One plane, any source
Issues, docs, billing, repos, CRM, databases. If it has an API, it has a tile.
Search across everything
One box. Results from every source, ranked by what your team touches most.
02
How it works
Four moves
No setup wizard, no migration plan, no six-week rollout. You connect a source and it shows up on the plane, already in sync.
Each move is one thing your team stops doing by hand. Most teams are through all four before lunch on day one.
4 min
Avg. setup
140
Sources
0
Migrations
Watch the 2-min tour →
01
Compose
Drag any source onto the same plane and arrange it the way your team actually works.
9 tiles · 3 groups
02
Observe
Every change is recorded, with who made it and exactly when.
1,204 events today
03
Extend
Open API and webhooks for whatever doesn’t ship in the box.
3 hooks · all 200
04
Ship
Publish status to whoever needs it without opening another account.
#ops · every 15 min
Before
Twelve tabs
Monday morning, before Tessel. Every tool is a tab, every tab is a login, and nobody knows which one is current.
Linear
Notion
Stripe
GitHub
Figma
Slack
HubSpot
Metabase
Gmail
Sheets
Postgres
Zendesk
12
Logins
~40
Switches / hr
After
One plane
Same tools, same data. One surface, one login, one place the whole team looks — and it’s already up to date.
Linear
Notion
Stripe
GitHub
Figma
Slack
HubSpot
Metabase
Postgres
1
Login
0
Switches

Get started
Ready when you are.
Free while you’re under three sources. No card, no call, no sales sequence.