Skip to content

The last mileof reporting.

Any source to any channel, on a schedule you set.

Reports die in the gap between where the data lives and where the team actually works. Omni Relay pulls from a source on one schedule and delivers to a channel on another, with a stored snapshot in between.

The last mile

The report exists. It just never arrives.

A person becomes the pipeline
Someone filters, exports and pastes every morning, and it stops the week they are on leave.
The link goes unopened
Giving someone access is not the same as getting their attention. A login is a wall.
Nobody can prove what went out
When a distributor says they never got the numbers, there is no record to check.

The hard part was never producing the report. It was the last mile.

How it is built

One seam in the middle, so both ends can move.

Ingestion is the only thing that ever touches the live source. Delivery only ever reads the snapshot. That split is what makes both ends swappable, so the adapters below are examples, not a fixed set.

SourcesPulls hourly
  • Google Sheet
  • Uploaded file
  • SQL database
  • REST API
  • Excel Online / SharePoint
  • BI tool export
  • CRM, ERP or an internal system

Dashed: adapter shape, not shipped

The seam

Stored snapshot

What you preview while building a schedule is exactly what gets sent. A source that breaks at 6am degrades to yesterday's data instead of a broken send.

ChannelsSends at 07:30
  • WhatsApp group
  • Slack
  • Microsoft Teams
  • Email
  • Telegram

Dashed: adapter shape, not shipped

Every run leaves a receipt

Sent
Rendered and delivered to the group.
Skipped
No rows matched, and you chose silence.
Stopped
A filter column vanished from the source.

The alternatives

What teams do instead.

Who does the work

Someone posts it by hand
A person filters, screenshots and pastes, every single morning.
A link to a dashboard
Nobody, until someone chases the team to go and look.
Omni Relay
A schedule, at the same time every day.

Whether it gets read

Someone posts it by hand
Usually. It lands where the team already is.
A link to a dashboard
Only by those who click through and sign in.
Omni Relay
In the chat, as a table. No login.

What you can prove later

Someone posts it by hand
Nothing. No record of what went to which group.
A link to a dashboard
At best who logged in, not what they saw.
Omni Relay
An append-only run log for every send.

When the source changes

Someone posts it by hand
Silently wrong until somebody happens to notice.
A link to a dashboard
Charts break, or worse, quietly mislead.
Omni Relay
The schedule flags itself and stops sending.

Moving to a different source or channel

Someone posts it by hand
Start over. It lived in one person's habits.
A link to a dashboard
A new integration project, priced accordingly.
Omni Relay
One adapter. The snapshot in the middle is unchanged.

The product

Six screens, in the order you would use them.

Captured from a running instance. Source names, destinations and rows are demo data.

Omni Relay: Every source, with its own cadence

Every source, with its own cadence

Sources pull on their own schedules, in IST. Note the last row: it was uploaded rather than linked, so it carries a file icon and no pull schedule, and everything downstream treats it exactly like the rest.

Omni Relay: Two ways in, one destination

Two ways in, one destination

Register a source by picking a spreadsheet from a connected Google account, or by uploading an .xlsx or .csv. Both land as the same structured rows. This is the source end being an adapter rather than a hard-coded integration.

Omni Relay: The stored snapshot

The stored snapshot

What was pulled, when it was last synced, and how many rows survived the filters. Delivery reads this and never the live source, which is the seam that lets both ends move independently.

Omni Relay: The rows this audience gets

The rows this audience gets

Filter any column, and what is left is what will be sent. The same tab can feed a warehouse audience and a regional team completely different rows, on different days.

Omni Relay: What actually arrives

What actually arrives

The rendered table, captioned with its source and tab, split into part one of two because the result set was too long for one readable image. This is the artifact, before any channel is involved.

Omni Relay: Every run, including the bad ones

Every run, including the bad ones

Pulls, sends, schedule changes and failures in one feed, each with what it touched and when. The failed pull here is the point: it is recorded rather than silently absorbed.

Questions

What teams ask before starting.

01

What do the people receiving this have to install?

Nothing. They stay in the WhatsApp group they are already in, and the table arrives in the chat. There is no app, no portal and no account for them.

02

What can it read from, and what can it send to?

Today it reads from Google Sheets and from .xlsx or .csv files you upload, and it sends to WhatsApp groups. Those are the adapters that ship. The design keeps ingestion and delivery apart, meeting only at a stored snapshot, so adding a source or a channel is work at one end rather than a rebuild. If you need a specific system on either end, that is the conversation to have with us.

03

Can it change our sheet?

No. Relay connects with read-only access through a service account, so it can pull the tabs you nominate and nothing else. It never writes back.

04

What actually gets posted to the group?

A rendered table of the rows that matched your filters, captioned with the source, the tab, which filters were applied and the time it was generated. Long result sets are split into several images labelled part one of three rather than compressed until they are unreadable.

05

Can different groups get different slices of the same sheet?

That is the normal setup. Filters are saved per group and per schedule, so a north region group and a warehouse group can read the same tab and receive completely different rows, on different days, at different times.

06

What happens on a day when nothing matches?

You choose, per schedule. It can stay quiet and record the run as skipped, or post a short notice saying there is nothing outstanding. Which one is right depends on whether silence would be reassuring or worrying for that group.

07

How does it connect to WhatsApp?

By linking a WhatsApp account once through a QR code, the same way WhatsApp Web does. It posts to groups rather than to individual contacts.

Trusted by

Product teams and technology leaders who ship with us.

  • Sanofi
  • Cipla
  • Goodluck Glass and Windows
  • Global Destinations
  • Kennect
  • Foyr
  • Alkem
  • Galderma
  • Indoco
  • Acquia
  • Servier
  • Eisai
  • Gufic
  • Medley
  • Asian Paints

Talk to us

Start with one report and one audience.

Pick the report someone on your team rebuilds by hand every morning, and the group that needs it. That is enough to see whether this belongs in your operation, and it is the fastest way to find out what your real last mile looks like.

Senior engineers reply within one business day.