ArtEvent OS Handbook
How an email in the inbox becomes a scheduled event, a staffed crew and a paid invoice — and what the system handles on its own along the way.
01Overview
ArtEvent OS carries an event from the first email to the paid invoice in one place. Clients, events, crew, dates, correspondence and invoices share one set of records — what one person enters, everyone else sees immediately.
One place for the whole job
Client, date, location, assigned instructors, sent emails, packing list and invoice all hang off the same event. No hunting across inbox, calendar and spreadsheets.
Wired into your tools
Gmail, Google Calendar and Bexio are connected. Emails land in the event history, gigs reach each worker as a calendar entry, invoices land in accounting.
Keeps working unattended
Nightly runs close out past events, create invoice drafts and archive settled ones. Payment reconciliation with Bexio runs every 15 minutes.
Everyone sees their own slice
Workers see their gigs and their own earnings — not their colleagues' rates, and not internal notes.
Two markers used throughout. Automatic means it happens on its own, nobody clicks anything. Optional means the feature is built and ready but can be switched on or off, depending on how much you want the system to take over.
02Roles and access
Everyone on the team holds exactly one role. It decides which pages are visible and which numbers a person gets to see.
OwnerOwner
Full access. Only the owner connects Gmail and Google Calendar to the organization and sees the audit log; in the Team area, only the owner revokes invites and removes members.
AdminAdmin
Runs events, clients, instructors, invoices and the team. Sees rates and internal notes.
WorkerWorker
Sees their own gigs, their own earnings and the event's key details — date, location, participant count. Other people's rates, internal notes and invoices stay hidden.
New members join in three steps. First: Team → + Invite member emails the invite and shows the same link to copy — if the mail does not arrive, send it yourself. Second: under Instructors → + New Instructor you create the profile — contact details, rate, specializations. Third: in that profile, pick the invited account under Linked User Account — it appears there once the person has accepted the invite. Without the third step the person sees no gigs, no calendar and no earnings after logging in — the invite alone does not create that link. How the first login works is in the next section.
03First sign-in and your account
What happens at the first login and how each person secures their access — the same for every role.
Accept the invite
The invite link from Team → + Invite member is valid for seven days. On opening it the person chooses: sign in with a Google account, or email and password (at least 12 characters). An expired link is simply issued again.
Invited person
Set up two-factor
Anyone signing in with a password sets up two-factor authentication right after: scan the QR code with an authenticator app, type the first code. The system then shows eight backup codes — once only. Keep them safe: they are the only way in when the phone is missing.
Google sign-ins need no second factor. Explicitly exempted accounts are excused from the requirement.
Everyone with a password login
Every later login
Email, password, then the six-digit code from the app — or one of the backup codes; each of them works exactly once.
Everyone
Forgotten password
Forgot password? on the login page sends a link by email; it is valid for one hour and for a single use. It sets a new password (at least 12 characters); the two-factor setup stays as it is. This applies to password accounts only; anyone signing in with Google alone keeps using Google.
Yourself
Phone and backup codes gone
Without the authenticator app and without backup codes nobody gets back in on their own — only the system's operator can help.
Operator
Under Security everyone manages their own account: Change password, Regenerate backup codes (the old ones stop working at once) and switching 2FA off — each against re-entering the password — plus Link Google account, so both routes lead to the same account. Anyone who has only ever signed in with Google sees Set password there instead of Change password — right afterwards the system asks for two-factor setup, because from then on a password login exists. Changing a password signs out every open session within a few minutes.
04The life of an event
Every event moves through eight stages. Status is not a label — it drives the system: it decides who sees the event, whether it occupies the calendar, and when an invoice appears.
Status only moves forward, one stage at a time — skipping is not possible. One step back is allowed in case something was advanced by mistake. The order stays trustworthy, and nobody can mark an event completed that was never confirmed.
You change status on the event page under Pipeline. Inquiries and quotes never block an instructor — a date counts as taken only from Confirmed onward.
05From inquiry to payment
The path nearly every event takes. These steps are a real sequence — each one builds on the last.
The inquiry arrivesAutomatic
An email lands in the connected inbox. The system reads it, decides whether it is an event inquiry, and ignores everything else. A genuine inquiry produces a client record and an event at status Inquiry — with name, event type and requested date, as far as the email states them.
The new inquiry appears on the Dashboard under AI Inquiries. The original email is attached to the event as history.
Nothing to do — just review
The quote goes outOptional
For recurring inquiry types you keep reply templates with per-person price tiers and fixed fees. The system picks the right template, fills in name, date and location, and computes the price. The result is saved as a draft in Gmail — nothing is ever sent automatically; you read it over and send.
Then set the event to Quoted. If you work with Bexio, create a draft with the line items on the event via + New invoice and push it from Invoices with ↑ Offer as a Bexio offer.
Admin reviews and sends
The client says yes — crew gets staffed
Set the event to Confirmed, then add instructors under Assignments — with a role (Lead or Support) and the fee for that gig. The fee, plus an adjustment or deduction with a note (travel money, for instance), can be changed at any time via Edit pay.
Each assigned person automatically receives an email with the key details, a calendar entry to add, and two buttons — Zusagen (confirm) and Absagen (decline); the invite mail is always in German. Their answer shows on the event straight away as Confirmed or Declined — no chasing by phone.
If the gig overlaps in time with another gig, or falls on a day that person marked unavailable, the clash appears on the event under Scheduling alerts as soon as they are assigned — provided the event has both a start and an end time.
Admin staffs · workers answer for themselves
Prep and delivery
Through Prep and In Progress to Wrap Up: the Packing List records what has to come along and what is already packed. What the crew needs to know reaches them with the invite email and the calendar entry; the Internal Notes section on the event is visible to admins only.
Anyone subscribed to the calendar sees the gig, with its location, on their own phone automatically.
Whole team
The event is over — the invoice appearsAutomatic
As soon as an event moves to Completed, the system creates an invoice draft. If a quote went out by email, the AI reads the line items from that offer and fills them in — as long as the draft is still empty. You check the lines and correct whatever is off.
Past events nobody advanced are moved to Completed overnight — never inquiries or quotes, which are left alone.
System drafts · admin reviews
Paid and filedAutomatic
The finished invoice goes to accounting from Invoices with ↑ Bexio. From then on the system asks every 15 minutes whether it has been paid, and flips the status to Paid by itself.
Once every invoice on an event is paid, the event moves to Archived — out of the active lists, still fully searchable.
Runs on its own
An invoice locks the moment it is sent. After that only the status can change. If something needs correcting, + Correction creates a new invoice whose title references the original — so what the client actually received stays on the record.
Where the automation deliberately stays out. The nightly close-out only applies to events from the cut-off date set at go-live — older events you advance by hand. Events imported from Google Calendar get no automatic invoice draft while no real client is linked; create the invoice yourself with + New invoice, and payment sync and archiving then apply as usual.
Everything also works by hand. Phone inquiries or bookings without an email you create yourself: Events → + New Event with title, client, type, date and location — from a template if you like; the client can be created in the same dialog, and the full client list lives at /clients. An existing email correspondence is attached in the event's communication section with Link Gmail thread. The invoice is created with + New invoice on the event; if you work without Bexio, set the status yourself in the invoice's edit dialog — first to Sent, then to Paid; the system allows no other order. Archiving then applies just the same.
06The working areas
What happens on which page. Clients, Event Templates and Invoices deliberately have no menu entry: you reach a client through the client name on the event, and all three directly by address — /clients, /event-templates and /invoices.
Dashboard
The landing page. For admins: the Total Events and Active Events figures, the team's earnings right below, then the newest AI Inquiries awaiting review, upcoming events, open AI tasks and the team with each person's next gig.
Earnings per person shows, month by month, what each person earns from every non-declined gig of that month — including the ones still ahead; expandable down to the individual events. Instructors flagged Hide from team earnings on their profile are left out on purpose. Workers instead see their own upcoming gigs and their own monthly earnings.
Events
The full list, with a tab per status and a count beside each. Filter by search term (title or client), client and date range. By default the list starts at today — clear the From field to browse the past. Admins with an instructor profile of their own switch between All and Mine; the person filter shows a single instructor's events.
The event page itself holds everything: client, key details, participant count, pipeline, assignments with pay, invoices, correspondence history, packing list, scheduling alerts and internal notes. New events are created from the list with + New Event — from a template if you like. Workers see their own assignment and the key details, nothing else.
Calendar
Month and week views. The week view is a time grid that shows overlapping events side by side; on a phone it becomes a swipeable day strip.
- Admins filter by person to see a single instructor's calendar.
- Anyone linked to an instructor profile marks a day unavailable with a click — one day or a whole range, with a reason.
- Subscribe (also needs an instructor profile) creates a personal link for Apple or Google Calendar, so your own gigs appear on your phone automatically. The link can be revoked at any time.
- All / Confirmed+ hides inquiries, quotes and archived events so only booked work stays visible.
Instructors
Profiles with contact details, rate, specializations and the linked user account. On the detail page:
- Upcoming events with date, location, status and their reply
- Monthly Events & Earnings, including a warning when a rate is missing and a row therefore counts as zero
- Availability — set and clear blocked days on a month grid
Clients
Contact details, VAT number, tags, GDPR consent, notes and the full event history. A client can be linked to a Bexio contact — either an existing one via search, or the system creates it in Bexio. Invoices then always go to the same contact.
Event Templates
Recurring event formats with type, default duration and usual staffing. Creating an event from a template carries those values over instead of retyping them each time.
Invoices
Every invoice across every event, with tabs for Draft, Sent, Paid and Overdue. A column shows whether an invoice is already synced with Bexio; offers are pushed and converted into invoices from here.
Team
Members with role and join date, plus pending invites with their expiry. In the Team area, revoking invites and removing members is reserved for the owner. When someone is removed, their access ends within a few minutes.
My Earnings
The personal earnings view: one figure per month — every booked gig that was not declined, including the ones still ahead (marked Upcoming). Add-ons such as travel money appear as their own line, so the total stays explainable.
07What runs in the background
These routines need no operating. They run on the server — at night, at weekends, and when nobody is signed in.
| Routine | When | What happens |
|---|---|---|
| Inbox | within a minute | A new email is read, recognized as an inquiry or discarded; client and event are created and the email attached to the event. |
| Email matching | daily 03:00 | Events imported from Google Calendar that have no correspondence are matched against inbox threads. Clear matches with a recognized client are linked; uncertain ones appear on the event as a suggestion you accept with Attach or reject with Dismiss. |
| Close-out | daily 04:00 | Past confirmed events move to Completed, which is what creates the invoice draft. Inquiries and quotes are left untouched. |
| Archiving | daily 04:00 | Completed events whose invoices are all paid move to Archived. |
| Payment sync | every 15 min | Bexio is asked for paid invoices; matches are set to Paid in the system. |
| Calendar replies | every 15 min | Accepts and declines given directly in Google Calendar are carried into the assignments — for events linked to the Google Calendar. |
| Conflict check | when staffing | When a person is assigned, checks whether the gig overlaps another gig or falls on a day they marked unavailable, and reports the clash on the event. Possible duplicate inquiries are flagged by the inbox when an event is created. |
Every change anyone makes is also recorded in the Audit Log: who, when, what. That makes it possible to reconstruct afterwards how an event reached its current state.
08Settings and integrations
Set up once, then it runs. Every connection can be tested and disconnected at any time.
Gmail
Connects the inbox that inquiries arrive in. The page walks through what happens to an incoming email step by step and shows the connection status. Test connection checks reachability without changing anything.
Google Calendar
Connects the organization calendar, selects the source calendar and imports existing appointments as events. Crew invite backfill first shows a preview of which calendar entries are missing, and only fills them in on request.
Bexio
Connects accounting. Invoice defaults set the VAT rate and currency applied to every pushed offer and invoice — without a VAT rate nothing can be pushed. The choices are pulled live from your Bexio account, so nothing can be entered that does not exist there.
Reply Templates
Templates for recurring replies, in German and English. Fields such as name, date or location are inserted as placeholders and filled in when writing. A template can compute its own price: per-person tiers plus fixed fees such as travel, optionally VAT-inclusive.
Agent Knowledge
The business context for the AI: general rules on tone, pricing and escalation, plus rules per event type. Under Tagging you can keep especially good replies of your own as examples — before saving, the text is anonymized and the cleaned version is shown for checking. For now the system only stores these rules: today's reply drafts come from the Reply Templates; the agent knowledge does not feed into them yet.
Security
Two-factor authentication with backup codes, password changes and linking a Google account. Changing a password signs out every open session within a few minutes.
Audit Log
A chronological list of every change with time, person, action and the event affected — expandable to the details.
09When something is off
The most common snags, what they usually are, and what you can do yourself.
No new inquiries from the inbox any more
What it usually is: The Google grant for Gmail has expired or was revoked — intake then stops quietly.
What to do: Check the status under Gmail in the settings and Reconnect Gmail — only the owner can.
The calendar area shows “Reconnect”
What it usually is: The Google Calendar connection lacks write access, or access was revoked.
What to do: The owner clicks Reconnect. Crew invites keep going out normally as .ics attachments meanwhile; until then, date changes reach the crew by email instead of through Google.
A Bexio push fails
What it usually is: The Bexio connection has expired or was cut in Bexio — or the default VAT rate is missing.
What to do: Reconnect Bexio in the settings; set the rate under Invoice defaults.
A past event is still “Confirmed”
What it usually is: It lies before the automation's cut-off date, or the automation is switched off for this case.
What to do: On the event page under Pipeline, click it forward stage by stage.
No invoice draft after “Completed”
What it usually is: The event came from the Google Calendar import and has no real client yet — or an invoice already existed.
What to do: Link the client, then + New invoice on the event.
The invoice draft is empty although a quote went out
What it usually is: The quote was not sent as an email from this event to the client, or the AI was not confident enough.
What to do: On the event open Generate invoice (AI) and pick Prefill from a sent offer (AI) there — the preview shows what was recognized before anything is saved. Delete the empty draft afterwards so only one invoice hangs off the event.
An instructor sees nothing after logging in
What it usually is: Their instructor profile is not linked to the user account.
What to do: Instructors → open the profile → set Linked User Account.
The invite email never arrived or the link is dead
What it usually is: A typo in the address, the spam folder — or the event is in the past, in which case the links are invalid on purpose.
What to do: On the assignment on the event, Resend invite; that issues fresh links. If the event is already in the past this does not help — RSVP links are invalid by design then; set the status yourself instead.
Date, location or title changed
What it usually is: Nothing is broken — this is the normal case.
What to do: Just change it on the event. If the calendar is connected and the event is linked to Google, the system updates the Google entry — Google notifies the people on it for a date or location change; a pure rename is not announced. Otherwise everyone still invited or confirmed gets an “Aktualisiert:” email with a new calendar entry. Existing confirmations survive either way; for last-minute changes, tell the crew yourself to be safe.
Banner “AI found a matching email thread”
What it usually is: The nightly matching found a thread but was not confident enough.
What to do: Attach brings the emails onto the event; Dismiss is final for that pair.
Locked out — phone and backup codes gone
What it usually is: Without a second factor the system lets nobody in, not even the owner.
What to do: Contact the operator; they reset the two-factor setup.
10Data and privacy
Where your data lives, who sees it, and what the system hands out.
Servers in the EU
The system runs on its own server at Hetzner in Falkenstein, Germany. Every organization has its own, sealed-off set of data — the separation is anchored in the database itself, not only in the application.
What reaches the AI
Incoming inquiry emails, the text of sent offers including the PDF, and — during the nightly matching — the event title, subject lines and excerpts of inbox threads are passed to an external AI service (Anthropic). None of it is ever sent to clients automatically.
Encrypted and logged
Bexio credentials are stored encrypted and passwords only as a hash; the Google grants for Gmail and Calendar can be disconnected in the settings and revoked in your Google account at any time. Every change anyone makes in the app lands in the audit log, which the owner can read.
Backed up
The database is backed up every night and copied, encrypted, to a second location off the server. Restores are handled by the operator.
Client data — contact details, VAT number, notes, correspondence and invoices — stays with the event, even once it is archived. GDPR consent is recorded per client. A client record can be deleted as long as no event hangs off it any more.
11For workers
The short path for instructors — what you see and what you need to do.
Set up once
Open the link from the invite email, choose a password (at least 12 characters) or Google, connect an authenticator app and store the eight backup codes. If no gigs show up afterwards, your profile is not linked yet — a quick word with the admin fixes that.
Once
Answer gig invites
Every assignment arrives as an email with Zusagen (confirm) and Absagen (decline) — the invite mail is always in German, and no login is needed. The attached calendar entry goes into your own calendar. You can change your answer later through the same buttons, as long as the date is still ahead.
Per gig
See your own gigs
Dashboard shows your next gigs and the month's earnings, Events your own list, Calendar month and week. There you block days as unavailable and, with Subscribe, get every gig onto your phone automatically.
With a linked profile
Check your earnings
My Earnings shows one monthly total of every gig you did not decline, including the ones still ahead; add-ons such as travel money appear as their own line. If something looks wrong, the admin is your contact — they see the same numbers.
Any time
Secure your account
Security in the menu: change the password, regenerate backup codes, link a Google account.
When needed
12Capability index
The full scope at a glance, grouped by area.
| Area | Capability | Access |
|---|---|---|
| Events | Eight-stage pipeline with enforced ordering | Admin |
| Search and filters by client, date range and status | Everyone | |
| Internal notes, visible to admins only | Admin | |
| Packing list with quantities and packed checkmarks | Everyone | |
| Participant count, location, time range, event type | Everyone | |
| Scheduling alerts: time overlap, own blocked days, duplicates | Everyone · resolve: Admin | |
| Crew | Assignment with Lead or Support role | Admin |
| Email invite with a calendar entry attached | Automatic | |
| Confirm and decline by link, no sign-in needed | Worker | |
| Per-gig fee plus an adjustment or deduction with a note | Admin | |
| Replies given in Google Calendar carried across | Automatic | |
| Scheduling | Month and week views with a person filter | Everyone |
| Personal and organization-wide blocked days | Instructors / Admin | |
| Calendar subscription for Apple and Google, revocable | Instructors | |
| Import of existing Google appointments as events | Admin | |
| Invoicing | Invoice draft created when an event completes | Automatic |
| Line items read out of the sent offer | Admin | |
| Push to Bexio as an offer or an invoice | Admin | |
| Payment reconciliation and flip to Paid | Automatic | |
| Lock after sending, correction invoice with reference | Admin | |
| Communication | Inquiries recognized in the inbox and created | Automatic |
| Reply drafts from templates with price calculation | Optional | |
| Existing email threads attached to an event | Admin | |
| Calls and messages logged by hand | Admin | |
| Earnings | Monthly roll-up per person, expandable | Admin |
| Own earnings as one monthly figure | Worker | |
| Warning on a missing rate or missing duration | Admin | |
| Organization | Three roles with graded visibility | Admin |
| Invites with an expiry, revocable | Admin / Owner | |
| Two-factor authentication with backup codes | Everyone | |
| Audit log of every change made by a person | Owner | |
| Usage | German and English, switchable per person | Everyone |
| Fully operable on phone and tablet | Everyone | |
| Its own address per organization | Owner |