Horizon Operations platform

A tool shaped for your trade, changing with it

A tool shaped for your trade, changing with it.

  • 13 Page blocks tables, charts, KPIs, forms, filters, embeds
  • 5 Trade packs association, private club, finance, sales pipeline, cotisations
    Yours Deployment per workspace, one trade pack each
  • 16 Routine actions from create a record to send a document
  • 6 Triggers created, updated, field changed, relation changed, schedule, manual

How it works

A request goes in. A record changes, a page updates, and the routine wrote itself down.

A member joins, a fee falls due, a boat changes owner: the record is written once, every page reading it moves, and the routine that follows fires on its own and leaves a line in the activity log. Pick a trade and a capability below.

Talk to us

Reads from

Member register
Fee schedule
Event list
DOCX templates
SMTP
Activity log
Bank export

Does

0Steps run
0Records touched
ReadyState
  1. Trigger
  2. Condition
  3. Action
  4. Result

Proves

  • Entity types and fields, per workspace
  • Relations kept once, in a junction, never duplicated
  • Files attached to a record, validated by kind and size
  • Computed fields: totals, copies, expressions

Operations

The record is your work. The routine keeps its word.

Around the screens sits the part a treasurer or a sales lead depends on without seeing it: routines that fire on time, writes that never half-complete, and a trace of who changed what and why.

  • Scheduled and event-driven routines

    A routine fires on a record created or changed, a field or a relation moved, a cron schedule with duplicate protection, or a button. It runs on a worker, not in the page, so a slow email never freezes a screen.

    Trigger Condition Action
  • One step, one transaction

    Every write a routine makes goes through the same service a person uses, and each step commits or rolls back on its own. A routine that fails at step four leaves steps one to three done and nothing half-written.

  • Versioned definitions

    A routine’s definition is versioned and pinned to each execution. Editing it does not rewrite the past: last month’s run can be read as it ran, and a version can be restored.

  • Activity and delivery logs

    Every write is an activity on the record, with who and when. Every email is a log line with its delivery state. Every run keeps the event that started it.

    sentqueuedfailed

Reported on

  • Any page a live view over the records, composed from blocks
  • CSV export of any list, with the filters applied
  • Generated documents every DOCX or PDF, attached to its record
  • Run history each execution, its version, its steps and its causal chain
  • Activity log who changed what, on which record, and when

Setup

A workspace, a trade pack, and your records imported

You do not start from an empty database. A workspace is created with the pack of your trade, which seeds the entity types, the pages and the routines that trade needs, and your existing data is imported on top.

Talk to an engineer
  1. Choose the trade pack

    Association, private club, sales pipeline, finance or cotisations. An extension pack runs its base first, then adds its own types, fields and pages.

  2. Import what you have

    A universal importer takes your spreadsheet or export and maps its columns to the fields of the pack, or to fields you add.

  3. Adjust the model

    Add a field, a relation, a computed total. The pages and the routines read the new field the moment it exists.

  4. Turn on the routines

    The pack ships its routines off. You read each one on the canvas, run it in test mode, and switch it on when it does what you expect.

Connections

What it reads, and what it can call

Your data comes in by import, your documents and emails go out through your own templates and mail server, and a routine can call any HTTP endpoint you allow.

What it reads and calls 6
  • Universal import spreadsheets and exports, mapped to your fields
  • DOCX templates filled from a record by a routine
  • Your SMTP emails sent from your own address, with logs
  • HTTP request a routine step can call an endpoint you allow
  • Embeds an external URL rendered as a page block
  • Model endpoint the assistant on the model of your choice, sovereign platform included

The assistant runs on the model configured for the workspace, which can be the sovereign AI platform: no record leaves the perimeter you set.

Where to start

Start with one trade pack. Widen when the records hold.

Nobody moves five tools in a week. Each step below is the same workspace, opened wider.

  • Pilot

    One trade pack, your records imported, one routine switched on.

    • The pack of your trade, seeded with its types and pages
    • Your existing spreadsheet imported and mapped
    • One routine read on the canvas, tested, and turned on
    Scope a pilot
  • Operate

    The whole trade, every routine, the assistant for the team.

    • Pages composed for each role, from the same records
    • Routines on schedules and events, with their run history
    • Documents generated and mailed from your templates
    • The assistant proposing pages and routines, you confirming
    Talk to an engineer
  • Sovereign

    The same workspace, with the assistant on the sovereign platform.

    • The model endpoint of your choice, inside your perimeter
    • Your own SMTP and your own templates, nothing hosted elsewhere
    • One workspace per trade, side by side under one account
    Plan a deployment

Widening is a configuration, not a migration: the records you imported in the pilot are the ones the whole trade runs on.

Questions

What people ask first

Horizon is the Altores operations platform. It holds your members, customers, records and operations in one place, models them as typed entities with the fields your trade uses, shows them as pages composed from blocks, and runs routines on them that fire on an event, on a schedule or on request. An assistant reads the workspace through tools and proposes changes you confirm.
It covers the ground both usually occupy, without being sold as either. A CRM holds the customer, an ERP holds the operation, and most businesses run the two beside each other and reconcile by hand. Horizon models both in the same place, over one query engine, which is what makes a page across them possible at all.
A pack is the entity types, pages, routines and demo data a trade needs, applied when a workspace is created. Packs compose: an association base holds members, fees, events and admissions; a private-club pack runs that base first and adds the club’s own registers, a boat type, the member fields that go with it and fleet pages. Five packs exist today: association, private club, sales and onboarding, finance, and the original cotisations campaigns.
No. It reads through tools, searches records, follows relations and proposes pages, routines or record changes as tool calls you approve. High-impact writes are never applied unsupervised, and every write it makes goes through the same service and the same activity log as a person’s.
It fires on six triggers: record created, updated, field changed, relation changed, a schedule, or a button. It runs sixteen actions: create, update or delete a record, add or remove a tag, link entities, update a relation, send an email, generate a document, branch on a condition or a switch, wait, set a variable, call an HTTP endpoint, validate data, log an activity. Two things are on the roadmap and not there yet: an inbound webhook trigger, and a true dry-run that simulates without writing.
Not yet. The interface, the emails and the seeded content are in French today; a locale framework with English as the second language is on the roadmap. Say so before a demo if your team does not read French, and we will tell you plainly where that leaves you.
Each workspace is isolated: its entities, pages, routines and documents are scoped to it, and one account can run several workspaces side by side. The assistant runs on the model configured for the workspace, which can be the sovereign AI platform, so no record has to leave the perimeter you set. Uploaded files are validated by kind and size before they are stored.

Next

Tell us how your trade actually works

Horizon is shaped around the way you already work rather than the other way round, so the useful conversation starts with your records and your routines rather than with a feature list.