Communication control

Inbound messages move through governed AI decisions.

A property-operations communication layer that triages inbound messages, replies within guardrails, and escalates anything risky to a human.

The challenge

Property messages that need context, judgement, and a safe reply.

FieldAgent handles inbound property-operations messages that arrive at all hours and demand context, a policy boundary, and a fast, safe next step. Handled by hand, they pile up or get inconsistent answers; handled by naive automation, the risk is worse — confident replies to things that should never be auto-answered.

The system had to know the difference: handle the routine instantly, continue carefully where it could, and escalate to a person every time human control was required — without ever forcing an uncertain case.

What we built

A governed communication layer with explicit decisions.

  1. 01

    Inbound message

    Messages enter through a single run endpoint (POST /agent/run) that replaces the core n8n agent path, so the same governed logic applies to every message.

  2. 02

    Context

    The system pulls conversation history from a persistent layer before it decides anything, grounding each response in what came before.

  3. 03

    Lease lookup

    A lease lookup retrieves the relevant record, so the decision is made against real context rather than a generic guess.

  4. 04

    Decision

    Decision parsing classifies the message into an explicit AUTO_REPLY, CONTINUE, or ESCALATE outcome — boundaries that are stated, not implied.

  5. 05

    Reply

    Routine messages get a cleaned reply and a generated summary, persisted to Supabase alongside the rest of the conversation.

  6. 06

    Escalate

    Anything risky or uncertain hands off to a person with full context, and fail-soft behaviour is the default whenever the system is unsure.

Proof of work

Routine handled instantly, risk handed to a person — every time.

FieldAgent's core workflow now runs through a persistent communication layer that checks context, looks up the relevant lease, and parses each message into an explicit AUTO_REPLY, CONTINUE, or ESCALATE decision. Routine messages are answered and summarised; risk cases and unclear intent escalate to a person with full context. Fail-soft behaviour means an uncertain case is always handed off, never forced.

Core workflow replacement pathwayPersistent conversation layerEscalation and fail-soft behaviour

Build details

The components and patterns behind the system — built the way production systems should be.

POST /agent/runn8n Core Agent replacement pathConversation historyLease lookupDecision parsingAUTO_REPLY / CONTINUE / ESCALATESupabase persistenceFail-soft behaviourWeb chat endpoints

Bring us one workflow. We'll map the system underneath it.

Pick the process your team keeps doing by hand. We'll return its inputs, decision points, failure modes, and the automation layer that makes it operational — concrete, not conceptual.