AI is not eating SAAS.
Outdated software design choices however opens the field for fresh blood.
AI is not eating SAAS.
Outdated software design choices however opens the field for fresh blood.
The narrative of SaaS’s impending doom — fueled by AI disintermediation, open-source alternatives, and commoditization — misses the deeper architectural flaw. Most enterprise SaaS platforms remain stubbornly optimized for human visual and manual workflows.
This design paradigm, born in the pre-AI era of drag-and-drop builders and point-and-click configuration, creates friction that will become existential as solutions shift from human-driven to machine-orchestrated.

Modern day SAAS design choices are not making it easier for our robotic overlords.
Nowhere is this more evident than in core automation layers of flagship platforms: Salesforce Lightning Flow (the unified evolution of Workflow Rules, Process Builder, and Visual Workflow) and Celonis Execution Management System (EMS) components such as Celonis Studio’s Action Flows, Knowledge Models, and Process Orchestration. These tools deliver immense value today but embed a human-centric dependency that APIs, metadata exports, and even emerging “vibe coding” (AI-generated edits to underlying declarative structures) can only partially mitigate.
This advisory provides an expert-level technical dissection of these exact systems — their service names, metadata formats, APIs, DSL-like elements (PQL in Celonis, Flow metadata schema in Salesforce), export/import mechanisms, and coverage gaps. It evaluates the realism of bypassing UIs entirely via JSON/XML exports and LLM-driven regeneration.
The conclusion: partial programmability exists but falls short for the coming wave of autonomous agents, real-time semantic orchestration, and “deep in the machine room” execution where humans are spectators, not operators. A dramatic redo is required: platforms must be re-architected with first-class, version-controlled, AI-native DSLs or code representations that are machine-readable and machine-writable by default, full API surface for every UI action, built-in simulation/sandboxing for agents, and governance layers that treat business logic as infrastructure-as-code (IaC) on steroids.
INTRODUCTION: THE REAL CRISIS IS NOT EXISTENTIAL REPLACEMENT
SaaS valuations have faced “doom-telling” since ChatGPT’s 2022 debut — analysts warned of replacement by AI agents that could bypass UIs entirely. Adoption of Salesforce, Celonis, ServiceNow, and Workday continues to grow because these platforms solve complex, regulated, data-rich enterprise processes that pure LLM agents still hallucinate or fail to govern.
The bigger issue is not existential replacement but evolutionary obsolescence of the interaction model. Every major SaaS workflow tool was designed when the primary user was a business analyst or admin clicking through a canvas. Flows were built to mirror human decision trees, not machine execution graphs.
This creates four distinct structural problems.
Cognitive load mismatch with AI: LLMs excel at text/code but struggle with opaque visual canvases. When an agent encounters a 200-node visual workflow, it cannot “read” the logic the way it parses a Python script or YAML configuration. The visual representation is optimized for human spatial reasoning — positioning elements on a 2D grid, using color coding, drawing connector lines — none of which translates cleanly to token-based reasoning.
Traceability and audit gaps: Versioning a 200-node visual flow becomes a compliance nightmare. When two versions differ by a single condition in a decision node buried in the middle of the canvas, diff tools designed for text fail. The XML/JSON metadata exports exist, but they are verbose and structurally complex — comparing two versions requires specialized tooling that most organizations lack.
Scalability ceilings: Human-scale logic does not auto-scale to agent swarms processing millions of cases per second. A workflow designed for a human analyst to review 50 cases daily cannot simply be “sped up” by throwing more compute at it. The underlying assumptions — transaction boundaries, governor limits, API call quotas — were calibrated for human timescales.
Vendor lock-in via UI: The “secret sauce” lives in proprietary builders, not portable artifacts. When your business logic is encoded in visual flows that only Salesforce’s or Celonis’s rendering engine can interpret, migration becomes a multi-year consulting engagement rather than a code transformation exercise.
Both platforms exemplify the pattern: rich visual tooling with partial underlying programmability that is tantalizingly close — but not sufficient — for a post-human workflow world.
HISTORICAL EVOLUTION: HOW WE GOT HERE
The trajectory of enterprise workflow tools follows a consistent pattern across vendors.
Salesforce began with Workflow Rules in the 2006-era: simple rule-plus-action constructs. You defined a condition (IF Amount > 10000) and an action (THEN send email, update field). These were stored as metadata, retrievable via API, but limited in expressiveness. Complex logic required stacking multiple rules, which created evaluation-order dependencies and debug headaches.
Process Builder arrived around 2015, offering a visual tree builder. The UI presented a canvas where you could drag nodes, create branches, and chain multiple actions. This was a leap forward for human productivity — business analysts could build moderately complex logic without Apex code. The underlying representation used a processType of Workflow or InvocableProcess in metadata, but the format was unwieldy and the visual builder wrote metadata that was difficult to edit manually.
The consolidation into Lightning Flow (2018–2020) unified these paradigms. Record-Triggered Flows replaced Process Builder for after-save automation. Screen Flows enabled guided user experiences. Scheduled-Triggered Flows handled batch operations. The Flow metadata format became the canonical representation, but the visual Flow Builder remained the primary authoring interface.
Celonis followed a parallel evolution. Founded in 2011 as a pure process mining company, the platform extracted event logs from systems like SAP and Salesforce to discover process bottlenecks. The output was analytical — dashboards showing cycle times, rework rates, and compliance violations.
The shift to the Execution Management System (EMS) around 2020 moved Celonis from observation to action. Action Flows, inspired by integration platforms like Make (formerly Integromat), enabled users to build automation triggered by process mining insights. Knowledge Models provided a semantic layer for defining KPIs and business records. Process Orchestration composed multiple Action Flows into end-to-end processes.
Both histories reveal the same design assumption: humans are the primary authors and operators. The visual canvas is not a projection of an underlying text representation; it is the primary artifact.
DEEP TECHNICAL DIVE: SALESFORCE LIGHTNING FLOW ECOSYSTEM
The Lightning Flow Builder serves as the primary visual tool, accessible via Setup > Flows. The architecture supports multiple flow types with distinct trigger mechanisms and execution contexts.
Record-Triggered Flow fires before or after a record is created, updated, or deleted. This replaced Process Builder for most after-save automation scenarios. The trigger configuration specifies the object (e.g., Account, Opportunity), trigger type (Before Save, After Save), and entry conditions.
Screen Flow presents a UI to users via Lightning Pages, Experience Cloud sites, or Flow Applications. These are the “guided wizard” experiences for data entry, approvals, or self-service processes.
Scheduled-Triggered Flow runs at specified intervals against a batch of records matching filter criteria. The scheduler interface allows daily or weekly runs with offset times.
Auto-Launched Flow (invocable) runs without user interaction, triggered by Apex, Process Builder (legacy), or other flows. These serve as reusable subroutines.
Orchestrator (multi-step) coordinates complex, multi-stage processes with parallel branches and human task assignments. This sits at the intersection of workflow and case management.
Prompt Flow (Einstein) integrates with Agentforce to generate dynamic responses based on real-time data. These flows power the conversational AI experiences introduced in 2024–2025.
Segment-Triggered Flow reacts to changes in Data Cloud segments, enabling real-time personalization based on unified customer profiles.
Deprecated but migrated components include Process Builder (processType=Workflow or InvocableProcess in metadata) and Workflow Rules (now represented as Flow equivalents with specific trigger patterns).
UNDERLYING DSL / METADATA REPRESENTATION
Flows are first-class metadata via the Metadata API, available since API v24.0 and currently at v66.0 for Spring ’26. They are stored as XML files with the .flow extension in SFDX projects or retrieved via the Salesforce CLI command:
sfdx force:source:retrieve -m Flow:MyRecordTriggerFlow
The XML structure is verbose but parseable. A simplified but accurate representation:
<Flow xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>65.0</apiVersion>
<label>My Account Update Flow</label>
<processType>AutoLaunchedFlow</processType>
<status>Active</status>
<start>
<triggerType>RecordAfterSave</triggerType>
<object>Account</object>
<connector>
<targetReference>Decision_Validate</targetReference>
</connector>
</start>
<decisions>
<name>Decision_Validate</name>
<rules>
<name>Rule_ValidAmount</name>
<conditionLogic>and</conditionLogic>
<conditions>
<leftValueReference>record.Amount</leftValueReference>
<operator>GreaterThan</operator>
<rightValue>
<numberValue>10000</numberValue>
</rightValue>
</conditions>
</rules>
<defaultConnector>
<targetReference>Assignment_SetFlag</targetReference>
</defaultConnector>
</decisions>
<assignments>
<name>Assignment_SetFlag</name>
<assignmentItems>
<assignToReference>var_IsHighValue</assignToReference>
<operator>Assign</operator>
<value>
<booleanValue>true</booleanValue>
</value>
</assignmentItems>
</assignments>
<variables>
<name>var_IsHighValue</name>
<dataType>Boolean</dataType>
<isInput>false</isInput>
<isOutput>true</isOutput>
</variables>
</Flow>
The full element list demands expert coverage. Assignments handle variable mutations. Decisions implement branching logic with rule evaluation. Loops iterate over collections. Record operations (recordCreates, recordUpdates, recordDeletes, recordLookups, recordRollbacks) interact with the database. ActionCalls invoke Apex classes or external services. Subflows enable composition. CollectionProcessors (filter, sort, map introduced in v50+) enable functional programming patterns on collections. OrchestratedStages coordinate multi-step processes. CustomErrors throw exceptions. Formulas compute derived values. TextTemplates format output strings. DynamicChoiceSets populate picklist options.
The LocationX and LocationY properties encode canvas position—purely visual metadata that pollutes the logical representation.
PROGRAMMATIC ACCESS AND EXPORT MECHANISMS
The Metadata API combined with Salesforce CLI (SFDX/Salesforce DX) provides full retrieve and deploy capabilities. The command force:source:deploy activates new versions after metadata manipulation.
The Tooling API enables SOQL queries on FlowDefinition and FlowVersion objects:
SELECT Id, ActiveVersionId, LatestVersionId, MasterLabel
FROM FlowDefinition
WHERE MasterLabel LIKE 'Account%'
JSON export is available via the official Chrome extension “Salesforce Flow MetaData Downloader” which uses the Tooling API backend to provide one-click JSON copy/download. The extension is explicitly marketed for LLM consumption — Salesforce recognized early that the AI coding wave would need structured metadata. XML to JSON conversion is trivial via standard libraries like fast-xml-parser or xml2js in Node.js.
Einstein/Agentforce Integration (2025+) enables Agentforce to generate Flow metadata from natural language using constrained schemas derived from the WSDL and metadata types. FlowSim (internal simulator) provides testing capabilities without deployment.
“VIBE CODING” REALISM ASSESSMENT
Vibe coding — using LLMs to generate or modify Flow metadata via natural language prompting — is highly feasible for approximately 85% of cases.
The workflow pattern that works in practice:
- Export the existing flow as JSON or XML using the CLI or Chrome extension.
- Provide the LLM with the schema context (available from Salesforce’s official XSD files) and representative examples.
- Prompt with specific modification requests. An example prompt:
“Add a Loop element after Decision_Validate that iterates over related Opportunities. Filter for Amount greater than 50000. For each matching opportunity, create a Task record with Subject ‘High Value Review’, assigned to the Account Owner. Add an Assignment before the loop to initialize a counter variable, increment it in the loop, and add a final Decision to check if counter is zero and log a warning if true.”
- The LLM outputs updated JSON or XML. You validate against the XSD schema (Salesforce provides official schemas at specific API versions) and deploy via CLI:
sfdx force:source:deploy -m Flow:MyRecordTriggerFlow --test-level RunLocalTests
Success stories from 2025–26 demonstrate organizations using Cursor or Claude with Flow JSON achieving 3–5x faster iteration than UI-based editing. The key enabler is that Flow metadata is a declarative format — no compilation step exists between the XML and the runtime. The platform interprets the metadata directly.
Apex escape hatches exist for complex logic. Invocable methods allow Apex classes to be called from flows with defined inputs and outputs. The @InvocableMethod annotation exposes methods to Flow:
public class OpportunityCalculator {
@InvocableMethod(label='Calculate Commission'
description='Computes commission based on amount and tier')
public static List<CommissionResult> calculateCommission(
List<CommissionRequest> requests) {
// Implementation
}
}
The data types for inputs and outputs must be serializable and are restricted to primitives, sObjects, and lists thereof.
GAPS AND LIMITATIONS: CRITICAL FOR MACHINE ROOM OPERATIONS
Several categories of functionality remain inaccessible or problematic for programmatic manipulation.
Visual-only elements resist clean serialization. Screen layouts with Lightning Web Component extensions embed component properties in complex structures. Progress indicators introduced in customProperties (v63+) are canvas-specific. Rich text formatting in text templates uses a proprietary HTML subset that the visual builder normalizes in ways difficult to replicate via code.
Process Builder legacy metadata creates upgrade path issues. Editing converted Process Builder flows in the XML can break UI reopenability — the builder expects specific structural patterns that hand-edited XML may violate. This creates a bifurcation: legacy flows remain frozen, or organizations accept a one-way migration to Flow-native structures.
Governance tooling for visual flows is immature. No native “diff” capability exists for visual canvas changes at the UI level. Paused flow interviews block deployments — if active interviews exist for a flow version, you cannot deactivate that version via metadata deploy. This creates operational friction: production deployments require manual intervention to clear paused interviews or schedule deployments during maintenance windows.
Scale assumptions embed human limits. A single flow with 500 elements pushes the boundaries of human cognitive management. Agent swarms need composable micro-flows with clear interfaces plus orchestration layers. Salesforce Orchestrator addresses this partially but remains a visual builder at its core — multi-stage orchestration is still designed for human configuration.
Not everything has API coverage. Some Einstein prompt templates require UI-based seeding. Offline and Slack execution environments have configuration surfaces that exist only in those platforms’ settings pages. Dynamic record choice filters with complex dependency chains sometimes require the builder to resolve references correctly.
The gap is not total. Perhaps 85–90% of flow logic can be authored, modified, and deployed programmatically. The remaining 10–15% includes presentation concerns, edge-case integrations, and governance workflows. For human-driven development, 90% coverage is sufficient — developers drop into the UI for the final polish.
For autonomous agent operation, 90% coverage is a hard ceiling. Agents cannot “drop into the UI” for edge cases. They require deterministic, fully-specified interfaces. When an agent encounters a gap, it fails — or worse, it hallucinates a workaround that breaks in production.
CELONIS EMS — ACTION FLOWS, KNOWLEDGE MODELS & PROCESS ORCHESTRATION
EXACT SERVICE NAMES AND ARCHITECTURE
The Celonis Execution Management System (EMS) forms the core platform for process intelligence and automation. The architecture separates concerns across several distinct service boundaries.
Celonis Studio provides the low-code application builder where teams develop Knowledge Models, Action Flows, Views, and Skills. Studio is the primary authoring environment and is exclusively browser-based.
Knowledge Model (KM) serves as the central semantic layer. It defines Records (case/object-centric business entities), KPIs (calculated metrics via PQL expressions), Filters (boolean conditions for segmenting data), Variables (runtime parameters), and Triggers (event-based execution conditions). The Knowledge Model is the abstraction that translates raw event logs into business-meaningful concepts.
Action Flows constitute the automation engine. The interface presents a canvas of drag-and-drop modules inspired by integration platforms like Make (formerly Integromat). Modules include HTTP requests (POST/GET/PUT/DELETE with JSON bodies), JSON construction, Routers (branching logic), Iterators (loop over arrays), app connectors (pre-built integrations for SAP, Salesforce, ServiceNow, Oracle), Webhooks (inbound triggers), and Data Structures (formal JSON/XML schema definitions). Data flows between modules via variable mappings.
Process Orchestration composes multiple Action Flows into end-to-end processes. It introduces event-driven coordination — starting flows based on external signals, waiting for completion events, handling timeouts, and managing parallel branches.
Views are the dashboard and application layer for human consumption. Views present charts, tables, and action buttons backed by Knowledge Model data.
Skills are reusable automation building blocks that can be invoked across multiple Action Flows.
The Data Integration layer connects to source systems via standard protocols (JDBC, OData, REST) and pushes data into the Process Data Engine for mining and analysis.
UNDERLYING REPRESENTATIONS AND DSL ELEMENTS
Knowledge Models use PQL (Process Query Language) as their primary expression language. PQL is a powerful declarative DSL for querying process data. Example syntax for calculating average cycle time per case:
CASE WHEN AVG(CASE_ID) > 5 THEN
PU_SUM("CASE_TABLE", "REVENUE")
ELSE
0
END
PQL expressions define KPIs, filters, and computed attributes. The language supports aggregations (AVG, SUM, COUNT, MIN, MAX), conditional logic (CASE WHEN), table joins, temporal operations (time between activities), and process-specific functions (IS*ACTIVITY, PROCESS*VARIANT).
Knowledge Model entities include:
- Records: Define case-centric objects with unique identifiers, activity log bindings, and attribute mappings. A Record might represent an “Invoice” with attributes like Vendor, Amount, Status.
- KPIs: PQL expressions that compute metrics. “Cycle Time” might be defined as
AVG(TIME_BETWEEN("Create Invoice", "Payment Received")). - Filters: Boolean PQL expressions for segmenting data. “High Value Invoices” might filter on
SUM("Amount") > 10000. - Variables: Runtime parameters passed to queries and flows. These can be user-selected filters or system-injected values.
Action Flows use a module-based representation. Each module is a JSON object with a unique moduleId, a type identifier (e.g., http, router, iterator), and a parameters object containing type-specific configuration.
The export format for an Action Flow module:
{
"moduleId": "http_1",
"type": "http",
"parameters": {
"method": "POST",
"url": "https://api.example.com/webhook",
"headers": [
{"key": "Content-Type", "value": "application/json"},
{"key": "Authorization", "value": "Bearer {{credentials.api_token}}"}
],
"body": {
"caseId": "{{trigger.caseId}}",
"action": "approval_required",
"amount": "{{trigger.amount}}"
},
"timeout": 30000
},
"position": {"x": 450, "y": 300},
"connections": [
{"targetModuleId": "router_1", "outputIndex": 0}
]
}
The parameters object varies by module type. HTTP modules include method, url, headers, body, and timeout. Router modules include branches with condition expressions. Iterator modules include array source and iteration variable name.
Data Structures define schemas for JSON/XML payloads. These are expressed as JSON Schema or XSD:
{
"name": "InvoicePayload",
"type": "object",
"properties": {
"invoiceId": {"type": "string"},
"vendor": {"type": "string"},
"amount": {"type": "number"},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"sku": {"type": "string"},
"quantity": {"type": "integer"},
"unitPrice": {"type": "number"}
}
}
}
}
}
EXPORT MECHANISMS AND PROGRAMMATIC ACCESS
The content-cli tool (official GitHub repository maintained by Celonis) provides export and import capabilities. Export command:
content-cli export --package MyPackage --json
This exports an entire Studio package including Action Flows, Knowledge Models, Views, Data Structures, Skills, and their dependencies. The output is a structured JSON directory hierarchy:
MyPackage/
├── package.json
├── knowledge_models/
│ └── MainKM.json
├── action_flows/
│ ├── ApprovalFlow.json
│ └── NotificationFlow.json
├── data_structures/
│ └── InvoicePayload.json
├── views/
│ └── InvoiceDashboard.json
└── skills/
└── SendApprovalEmail.json
Dependencies are explicitly tracked. If an Action Flow references a Data Structure, the export includes that relationship. This enables GitOps workflows: export to JSON, commit to Git, diff across versions, and import modified configurations.
Import command:
content-cli import --package MyPackage --json --force
The force flag overwrites existing content. Without it, the import fails on conflicts.
The PyCelonis Python library provides programmatic access for data operations and content management:
from pycelonis import get_celonis
celonis = get_celonis()
package = celonis.get_package("MyPackage")
action_flows = package.get_action_flows()
for flow in action_flows:
print(f"Flow: {flow.name}, Nodes: {len(flow.nodes)}")
PyCelonis enables CRUD operations on content nodes, but full definition editing requires the exported JSON plus re-import. The library is better suited for triggering executions and querying results than for authoring.
The Knowledge Model REST API enables discovery and query operations.
Discovery endpoint returns all Records, KPIs, and Filters:
GET /api/knowledge-models/{kmId}/discover
Query endpoint executes PQL with pagination:
POST /api/knowledge-models/{kmId}/query
Content-Type: application/json
{
"query": "AVG(\"CYCLE_TIME\") FILTER \"Region\" = 'EMEA'",
"pagination": {"offset": 0, "limit": 1000}
}
This API is read-only on published Knowledge Models. No direct edit endpoint exists — you modify KMs through Studio or content-cli import.
Additional APIs include the Event Subscription API (webhook registration for external triggers), AI API (process anomaly detection), and Data Push API (injecting events from external sources).
Process Orchestration operates on event-driven semantics. A process definition specifies:
- Start events: Triggers that initiate the orchestration (e.g., KM signal with specific
dpInstanceId). - Flow references: Action Flows to invoke at each stage.
- Completion events: Signals that mark stage completion.
- Timeout handlers: Actions to take when a stage exceeds duration.
- Error handlers: Actions to take when a flow fails.
“VIBE CODING” REALISM ASSESSMENT FOR CELONIS
Vibe coding is strong for the data and orchestration layers of Celonis.
The pattern that works:
- Export Action Flow JSON via content-cli.
- Provide the LLM with the module schema (JSON structure for each module type) and the Data Structure definitions.
- Prompt for modifications. An example:
“Insert an HTTP POST module after the Router on the ‘high-priority’ branch. The POST should call SAP endpoint /api/po/create with a JSON body containing the caseId, vendor, and a hardcoded priority field set to ‘URGENT’. Add error handling with a 3-retry pattern and a fallback email notification.”
- The LLM outputs updated JSON. You validate the structure against known schemas, then import via content-cli.
PQL expressions are pure text — perfectly suited for LLM generation. A prompt like “Create a KPI that calculates the 90th percentile cycle time for invoices in the APAC region” yields a PQL expression:
PERCENTILE("CYCLE_TIME", 0.9) FILTER "REGION" = 'APAC'
Success rate hovers around 80% for typical modifications. Module types are standardized, and the JSON structure is regular. Complex conditions with nested expressions sometimes require iteration — LLMs occasionally produce PQL syntax that the Celonis parser rejects.
GAPS AND LIMITATIONS FOR MACHINE-FIRST OPERATIONS
Several categories resist clean programmatic manipulation.
Action Flow visual canvas logic includes branching and error handling that is partially opaque in the export. The connection model (which module connects to which) is captured, but the visual routing — how branches are laid out on the canvas — is entangled with the logic. Runtime bindings for the Celonis Agent (the on-premises execution component that connects to systems behind firewalls) require manual reconnection after import. Credentials and connection objects export with placeholder values — you must re-authenticate in the UI.
No full public DSL exists for the complete Action Flow graph. The export is a configuration dump, not a canonical source representation. If two exports of the same flow differ in module ordering or property serialization, the diff is noisy. This complicates version control and automated modification.
The process mining core (real-time signal detection, anomaly scoring) is a black box. Agents cannot introspect or simulate the mining engine without full platform access. The algorithms that detect process deviations or predict bottlenecks are not exposed via API or export.
Concurrency and execution limits are sometimes UI-configured only. Rate limits on outbound HTTP requests, parallel execution caps, and timeout thresholds have configuration surfaces in Studio settings that may not export cleanly.
Knowledge Model edits remain predominantly a Studio UI activity. The REST API is query-focused, not authoring-focused. You can read KPI definitions but not create or modify them programmatically without the content-cli export/import cycle.
CROSS-PLATFORM ANALYSIS: HOW REALISTIC IS FULL UI BYPASS VIA DSL AND VIBE CODING?
The realistic assessment: partial yes, full no.
Export coverage varies by platform and feature area. Salesforce reaches approximately 90% coverage for logic through mature metadata APIs. Celonis reaches approximately 75% coverage via content-cli — a newer tool with evolving capabilities.
Vibe coding success rates correlate with export coverage. For pure logic changes — adding a decision branch, modifying a condition, inserting an action — success runs 70–85%. The rate drops for visual and presentation concerns (screen layouts, dashboard widgets), governance workflows (profile permissions, sharing rules), and edge-case connectors (custom app integrations with proprietary auth flows).
Common gaps manifest across both platforms.
Presentation layers resist abstraction. Screen layouts in Salesforce, Views in Celonis — these are designed for human consumption. The metadata captures structure but not the design intent. An LLM can generate a screen with the right fields, but layout optimization for usability requires visual iteration.
Runtime state is inaccessible. Paused flow interviews in Salesforce, in-progress Action Flow executions in Celonis — these live in operational databases not exposed via export. Agents cannot inspect or modify running instances programmatically.
Security and governance configurations are partially exported. Profiles, permission sets, sharing rules in Salesforce; team permissions, role assignments in Celonis. The exports exist but are fragmented across multiple metadata types. Reconstructing the complete security posture requires aggregating dozens of files.
Simulation and testing at scale lacks agent-native tooling. Salesforce FlowSim exists but is geared toward human QA workflows. Celonis provides simulation capabilities for Action Flows but within the Studio interface. Neither platform exposes a deterministic, replay-based simulation API for agents to validate changes before deployment.
Inter-platform orchestration requires custom middleware. A Salesforce Flow triggering a Celonis Action Flow (or vice versa) demands custom Apex callouts or HTTP integrations. No native cross-platform workflow standard exists. Agents managing heterogeneous environments face exponential complexity.
The conclusion is stark: not everything can be done with APIs and DSLs. Complex conditional rendering in UI components, dynamic component instantiation, real-time mining signal threshold tuning — these require UI seeding or proprietary extensions.
This is the core problem for the coming changes. AI agents (Salesforce Agentforce, custom LangGraph swarms, AutoGPT variants, enterprise agent platforms) will need to reason over and mutate thousands of workflows daily. Visual canvases are not parseable at that velocity. The cognitive mismatch between token-based reasoning and spatial visual representation creates friction that compounds at scale.
THE MACHINE ROOM IMPERATIVE: WHY A DRAMATIC REDESIGN IS REQUIRED
Future solutions will be built by fleets of agents operating deep in the machine room — event buses, semantic graphs, policy engines — without human touch. Current platforms force agents into suboptimal patterns.
Scraping UIs via browser automation is fragile. A single CSS class change breaks the scraper. Browser automation scales poorly — spinning up headless browsers for thousands of concurrent workflow edits consumes massive resources.
Reverse-engineering metadata is lossy. The export formats capture implementation but not intent. An LLM modifying a Flow knows what the metadata says but not why a particular design decision was made. Context is lost in translation.
Maintaining dual human and machine representations invites drift. If humans edit in the UI while agents edit the metadata, synchronization breaks. Who owns the source of truth?
The required redesign principles are concrete and achievable.
CANONICAL CODE-FIRST REPRESENTATION
Every Flow and Action Flow must have a single source-of-truth textual DSL. This representation should be both human-readable and machine-writable. The UI becomes a projection — a viewer and editor of the text — rather than the primary artifact.
For Salesforce, this might look like an enhanced YAML or a domain-specific language embedded in Apex:
flow: Account_High_Value_Alert
trigger:
type: RecordAfterSave
object: Account
condition: Amount > 10000
variables:
- name: isHighValue
type: Boolean
output: true
steps:
- decision: Check_Region
branches:
- condition: Region = 'EMEA'
target: Create_EMEA_Task
- condition: Region = 'APAC'
target: Create_APAC_Task
default: Log_Warning
- action: Create_EMEA_Task
type: CreateRecord
object: Task
fields:
Subject: High Value EMEA Account Review
AssignedTo: $record.OwnerId
For Celonis, Action Flows could be represented as executable YAML with embedded PQL:
action_flow: Approval_Notification
trigger:
type: webhook
path: /approve
variables:
- name: caseId
from: trigger.payload.caseId
steps:
- http: SAP_PO_Create
method: POST
url: https://sap.example.com/api/po/create
body:
caseId: $caseId
priority: URGENT
retry:
count: 3
delay: 5s
- condition: $SAP_PO_Create.response.status = 'success'
then:
- action: Send_Email
to: approvers@company.com
subject: "PO Created for Case $caseId"
The DSL should be version-controlled, diffable, and mergeable via standard Git workflows.
FULL SURFACE API
Every canvas action must correspond to a REST or gRPC endpoint. If a human can click a button to add a decision node, an agent must be able to call an API to achieve the same result.
Current state: Salesforce Metadata API covers most actions, but gaps exist for visual components. Celonis content-cli covers export/import but not incremental modification.
Required state: A complete CRUD API for every element type. Create, read, update, delete operations on decision nodes, action calls, variables, connections — all exposed programmatically.
Webhook callbacks are critical for asynchronous operations. When an agent initiates a long-running flow modification, the platform should callback with completion status.
BUILT-IN AGENT SIMULATION
Agents require deterministic replay and validation capabilities before deployment.
Sandbox environments must be first-class concepts. An agent should be able to spin up an isolated sandbox, apply changes, execute test scenarios, and evaluate results — all via API.
Deterministic replay enables debugging. Given a flow version and an input record, the platform should produce the exact same execution trace every time. This allows agents to reason about behavior without running actual executions.
Cost estimation is critical for agent swarms. Before executing a batch operation involving thousands of API calls, an agent should query estimated resource consumption and compare against budget constraints.
Conflict detection prevents race conditions. When multiple agents attempt to modify the same flow simultaneously, the platform should detect conflicts and queue or reject operations appropriately.
SEMANTIC REGISTRY
Knowledge Models and Flow variables should be registered in a queryable graph database for agent discovery.
An agent tasked with “adding a notification when high-value orders are delayed” should query the registry: “What flows handle order processing? What variables represent order value? What actions send notifications?”
The registry enables semantic search over business logic, not just keyword search over metadata.
INFRASTRUCTURE AS CODE PLUS GITOPS NATIVE
Terraform and Pulumi providers for business logic are emerging. Salesforce DX provides some capabilities. Celonis content-cli enables GitOps workflows.
The requirement: make these the default, not the exception. Every change to a flow or knowledge model should be traceable through version control. Deployments should be automated via CI/CD pipelines. Rollbacks should be single-command operations.
Observability for machines extends this. OpenTelemetry traces for every node execution, not just human-readable dashboards. Structured logs that agents can parse. Metrics that agents can query to evaluate system health.
BLUEPRINT FOR NEXT-GEN PLATFORMS AND INDUSTRY ROADMAP
The concrete proposals for each platform follow.
SALESFORCE EVOLUTION PATH
- Expose full Flow DSL in an Apex-like syntax or enhanced JSON Schema v2. The current XML format is verbose and has legacy artifacts. A cleaner representation would reduce token consumption for LLM processing and improve diff readability.
- Make Agentforce generation bidirectional. The current capability generates flows from natural language. The reverse should exist: given a flow, produce a natural language description of its behavior. This enables documentation and agent reasoning.
- Provide first-class simulation API. FlowSim exists internally. Expose it via API for agents to validate changes before deployment.
- Extend the semantic registry. Flow variables, input/output contracts, and action types should be queryable via a dedicated API for agent discovery.
CELONIS EVOLUTION PATH
- Make content-cli the canonical source. The export format should be the primary representation, with Studio as a viewer/editor. Currently, Studio is the primary and export is a derivative.
- Expose Action Flows as executable YAML with embedded PQL. This aligns with industry trends toward GitOps and improves LLM compatibility.
- Make Knowledge Model API bidirectional. Currently read-only for published models. Agents need to create and modify KPIs, filters, and records programmatically.
- Provide deterministic simulation. Given a Knowledge Model state and a set of events, predict the resulting KPI values and signal triggers.
CROSS-VENDOR STANDARDIZATION
An open standard for “Enterprise Workflow Interchange” (EWI) would address the lock-in problem. Based on JSON-LD with execution semantics, EWI would enable:
- Workflow definitions to be exported from one platform and imported to another.
- Agents to reason about workflows using a common vocabulary.
- Hybrid deployments where different platforms handle different stages of an end-to-end process.
This is ambitious but not unprecedented. BPMN (Business Process Model and Notation) achieved some standardization for process modeling. A modern equivalent for executable workflows is overdue.
INDUSTRY ROADMAP
2026–2027: Pilot programs in regulated industries (financial services, healthcare) where audit and compliance requirements drive the need for version-controlled, machine-readable workflows. Early adopters implement custom DSLs and GitOps pipelines.
2028: Mainstream adoption. Major SaaS platforms announce machine-first redesign initiatives. Standards bodies begin work on EWI specification.
2029–2030: Platform consolidation. Vendors that failed to adapt become legacy layers, wrapped by agents rather than extended natively. Winners define the next decade of enterprise software.
Challenges remain substantial. Backward compatibility demands that existing visual workflows continue to function. Vendor incentives currently favor lock-in via proprietary builders. Regulatory audit requirements assume human-readable artifacts — transitioning to machine-first representations requires standard evolution.
CONCLUSION: FROM HUMAN-CENTRIC SAAS TO MACHINE-NATIVE EXECUTION FABRIC
The doom-telling is premature. Platforms like Salesforce and Celonis deliver unmatched enterprise depth — security, compliance, integration breadth, domain-specific functionality. Pure LLM agents cannot replicate this depth, and the replacement narrative ignores the reality of enterprise IT.
The architectural crisis is real. Visual and manual workflows embed a human-centric dependency that limits scalability, traceability, and agent operability. The partial programmability available via metadata exports and APIs is insufficient for the coming wave of autonomous agents.
The winners will execute the dramatic redesign. They will transform every workflow into a first-class, vibe-codable, agent-native artifact. They will provide complete API surfaces, deterministic simulation, semantic registries, and GitOps-native deployment. They will treat business logic as infrastructure-as-code, with the rigor and tooling that implies.
The rest will become expensive data lakes that agents must awkwardly wrap — valuable for their data, painful for their interfaces, and ultimately displaced by platforms built for the machine room from the ground up.
The future is not no-code or low-code. It is machine-code — where humans set intent at the highest level, and the machine room executes, evolves, and governs autonomously. Platforms that recognize this imperative today will define enterprise software for the next decade.
Those that cling to visual-first paradigms will find their interfaces increasingly bypassed, their value extracted rather than extended, their relevance fading as agents learn to work around them rather than through them.
The machine room is coming. The only question is whether today’s SaaS platforms will be its foundation or its legacy layer.
More tech advisory for enthusiasts at https://itbookhub.com !
메타데이터
- post_id
- 3e081bf3b0c8
- slug
- ai-is-not-eating-saas-3e081bf3b0c8
- url
- https://medium.com/micromusings/ai-is-not-eating-saas-3e081bf3b0c8
- canonical_url
- https://medium.com/micromusings/ai-is-not-eating-saas-3e081bf3b0c8
- author_url
- https://medium.com/@mohammedbrueckner
- status
- ok
- fetched_at
- 2026-08-03 09:09:56