OrbelithExplore the product
CRM automation case study

Automating Orbelith

Tenant-aware CRM workflows and scheduled operations — from recurring agency work to secure, observable production jobs.

Role
CRM Automation Designer / Product Owner
Period
12 May–8 August 2026
Delivery
Six production schedules
Status
Deployed and validated
Orbelith scheduled CRM automation case study cover

01 — Operational problem

Move recurring work out of manual checklists

Agency operations repeat at different cadences and with different risk profiles. The automation layer separates each workflow by business purpose while applying one consistent security and execution model.

Design principle

One global “run everything” script would be difficult to reason about and unsafe in a multi-tenant product. Each operation therefore owns its cadence, eligibility rules, safeguards, and outputs.

Responsibilities demonstrated

Workflow discoveryTrigger and action definitionScheduled-job designMulti-tenant scopingIdempotency and throttlingLocalized deliveryExecution visibilityProduction validation

02 — Production workflow inventory

Six independent schedules

Each job has a narrow operational purpose, a fixed production schedule, and workflow-specific reliability controls.

04:00Daily

Advertising spend import

Pull yesterday’s Meta and Google Ads costs into organization-owned client expenses.

Deterministic provider + account + date key prevents duplicate imports.

05:00Daily

Recurring invoices

Generate the next invoice period while preserving currency, tenant ownership, and billing data.

Calendar arithmetic avoids fixed-day drift and handles month-end dates.

06:00Daily

Team digest

Aggregate overdue tasks, new leads, missed calls, outstanding invoices, and top client alerts.

The organization toggle, language, records, and recipients are resolved per tenant.

07:00Monthly · day 1

Client report

Build prior-month delivery metrics for active clients and send a localized summary.

Results are logged as success, skipped, or failed inside the correct organization.

08:00Daily

Payment reminders

Notify clients about pending invoices that are due within three days or already overdue.

A three-day per-invoice throttle prevents repeated daily messages.

09:00Daily

Attendance rollup

Resolve scheduled workdays, approved time off, non-working days, and missing check-ins.

A database function applies one consistent rule set to the organization’s attendance data.

03 — Architecture

One control sequence, independently guarded workers

Every endpoint authenticates the scheduler, resolves organization scope, applies eligibility rules, executes its action, and returns or persists evidence.

Tenant-aware scheduled workflow architecture

04 — Reliability decisions

Background automation needs stronger guardrails

Scheduled service credentials can bypass normal user policies. Reliability therefore depends on explicit scope, retry behavior, timing rules, and visible failure modes.

01

Explicit tenant scope

Background service credentials bypass normal row policies, so organization_id is always selected, filtered, or written explicitly.

02

Retry-safe imports

Advertising records use deterministic external references so a retried schedule skips data that already exists.

03

Reminder throttling

Payment reminders store their latest send time and wait three days before contacting the same invoice again.

04

Calendar-safe recurrence

Recurring periods use real month and year arithmetic rather than fixed 30-, 91-, or 365-day offsets.

05

Hard authentication failure

Every scheduled endpoint refuses execution when CRON_SECRET or required service configuration is missing or invalid.

06

Execution evidence

Workflow outputs persist into CRM activity, notifications, expenses, invoices, attendance, or automation run records.

05 — Control surface

Expose state without overstating execution

The automation workspace shows inventory, active state, trigger → action models, run counts, recent activity, and error visibility.

Orbelith automation workspace with rule state and run visibility

Live organization controls

The daily team digest and monthly client report toggles genuinely enable or disable sending for the current organization.

Preset workflow concepts

Four earlier trigger → action presets remain visible as workflow models. They are not presented as production-executing custom rules; the interface states that the general rule engine is not yet launched.

06 — Localization and delivery

One scheduler, tenant-specific communication

The same global schedule resolves each organization’s language, recipients, data, and enabled-state before producing output.

In-app

Organization-scoped notifications link recipients back to the relevant CRM view.

Email

Team digests, client reports, and reminders use the organization’s RU/RO/EN language.

Telegram

Connected directors can receive the daily digest and prioritized client alerts.

07 — Outcome

An observable automation layer inside the CRM

The outcome is documented through implemented schedules, state transitions, persistence behavior, and production code — not unsupported hours-saved or revenue claims.

  • Replaces six recurring operational checklists with authenticated schedules.
  • Keeps background processing scoped to the correct organization.
  • Prevents duplicate ad-spend imports and repeated reminder spam.
  • Connects automated outputs to CRM records and activity history.
  • Respects Russian, Romanian, and English organization settings.
  • Provides visible execution state for built-in report workflows.
  • Runs as part of the live Orbelith production product.
Automating Agency Operations — Orbelith CRM Workflows