{"version":1,"pages":[{"id":"CQreQT0fi8HIF1pxbHk9","title":"Elsa Workflows 3","pathname":"/","siteSpaceId":"sitesp_AnEHc","description":"Introducing Elsa Workflows 3"},{"id":"3Es7FvykjAnDuLfX09E0","title":"Concepts","pathname":"/getting-started/concepts","siteSpaceId":"sitesp_AnEHc","description":"This section provides a comprehensive overview of fundamental principles and key elements that form the foundation of Elsa.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"DzNygg2OVeNZOsRCfj5U","title":"Outcomes","pathname":"/getting-started/concepts/outcomes","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Concepts"}]},{"id":"BRphmwXf4G3hrpognqPg","title":"Correlation ID","pathname":"/getting-started/concepts/correlation-id","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Concepts"}]},{"id":"sN6bnvOn4T4PFGjmAmUz","title":"Architecture Overview","pathname":"/getting-started/architecture-overview","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive architecture guide covering Elsa's components, execution model, data flow, and deployment patterns for architects and integrators.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"k5BdGT3YG4GV4HqhI8Ep","title":"Hello World","pathname":"/getting-started/hello-world","siteSpaceId":"sitesp_AnEHc","description":"In this topic, we'll setup a simple Console and an ASP.NET Core application that can host and execute workflows.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"0fMSZFx2pWPZX2i55Xpq","title":"Prerequisites","pathname":"/getting-started/prerequisites","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"zJ4Njx3EQsvfCglfOrMk","title":"Packages","pathname":"/getting-started/packages","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"DoAAlaf03M2wlwx5UVsR","title":"Database Configuration","pathname":"/getting-started/database-configuration","siteSpaceId":"sitesp_AnEHc","description":"Learn how to configure Elsa Workflows to use different database providers for persistence, including SQL Server, PostgreSQL, and MongoDB.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"cPEWfdvfmHwQ7tYlvfb9","title":"Containers","pathname":"/getting-started/containers","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"MEDMcZjYY6lg3O27Croa","title":"Docker","pathname":"/getting-started/containers/docker","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"}]},{"id":"TopJGdOnWMVwMtxujDM8","title":"Docker Compose","pathname":"/getting-started/containers/docker-compose","siteSpaceId":"sitesp_AnEHc","description":"Explore various Docker Compose configurations for setting up Elsa and related services like PostgreSQL and Traefik.","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"}]},{"id":"LGKwT87XSFN4sGTdkdli","title":"Docker Quickstart","pathname":"/getting-started/containers/docker-compose/docker-quickstart","siteSpaceId":"sitesp_AnEHc","description":"Get started quickly with Elsa Workflows using Docker Compose. This guide provides a fast path to evaluation with a complete setup including Elsa Server, Studio, and database persistence.","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"},{"label":"Docker Compose"}]},{"id":"ijkoefZaJ9kkm9hlbcur","title":"Elsa Server + Studio","pathname":"/getting-started/containers/docker-compose/elsa-server-+-studio","siteSpaceId":"sitesp_AnEHc","description":"Using Docker Compose, you can quickly set up and run both Elsa Server and Elsa Studio. This guide walks you through creating a docker-compose.yml file to deploy these services.","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"},{"label":"Docker Compose"}]},{"id":"Ca4SGZRJ2CCaKkgRgP5M","title":"Elsa Server + Studio - Single Image","pathname":"/getting-started/containers/docker-compose/elsa-server-+-studio-single-image","siteSpaceId":"sitesp_AnEHc","description":"This guide demonstrates how to set up Elsa Server and Studio using Docker Compose, enabling you to run both components from a single Docker image.","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"},{"label":"Docker Compose"}]},{"id":"bF8RfbRf0LppijtxyuQI","title":"Persistent Database","pathname":"/getting-started/containers/docker-compose/persistent-database","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"},{"label":"Docker Compose"}]},{"id":"ZUDccotcwSVh32aIP9bO","title":"Traefik","pathname":"/getting-started/containers/docker-compose/traefik","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Getting Started"},{"label":"Containers"},{"label":"Docker Compose"}]},{"id":"tDFIvL4jZxg4ObaBMkpP","title":"Elsa Server","pathname":"/application-types/elsa-server","siteSpaceId":"sitesp_AnEHc","description":"In this topic, we'll create an ASP.NET Core application that acts as a workflow server.","breadcrumbs":[{"label":"Application Types"}]},{"id":"On4rE5AtEa5KvZwJjiR2","title":"Elsa Studio","pathname":"/application-types/elsa-studio","siteSpaceId":"sitesp_AnEHc","description":"In this topic, we will create a separate ASP.NET Blazor Webassembly app and turn it into an Elsa Studio that connects to an Elsa Server.","breadcrumbs":[{"label":"Application Types"}]},{"id":"PCunLtPgQto3AIHLworz","title":"Elsa Server + Studio (WASM)","pathname":"/application-types/elsa-server-+-studio-wasm","siteSpaceId":"sitesp_AnEHc","description":"In this topic, we will create an ASP.NET Core application that acts as both an Elsa Server and an Elsa Studio.","breadcrumbs":[{"label":"Application Types"}]},{"id":"ZyyQBJMPCfayBRX4Ms6y","title":"V2 to V3 Migration Guide","pathname":"/guides/migration-v2-to-v3","siteSpaceId":"sitesp_AnEHc","description":"Complete migration guide from Elsa Workflows V2 to V3, covering breaking changes, custom activities, workflows, and concepts.","breadcrumbs":[{"label":"Guides"}]},{"id":"EdxHGiz8MerJfjbTzOVM","title":"Architecture","pathname":"/guides/architecture","siteSpaceId":"sitesp_AnEHc","description":"High-level overview of Elsa Workflows v3 architecture, covering workflow execution flow, core concepts like bookmarks and triggers, workflow runtimes, and multitenancy.","breadcrumbs":[{"label":"Guides"}]},{"id":"WZnYlQVFy8o96qhFo18M","title":"Workflow Dispatcher Architecture","pathname":"/guides/architecture/workflow-dispatcher","siteSpaceId":"sitesp_AnEHc","description":"Deep dive into IWorkflowDispatcher: the core dispatching abstraction for queuing and executing workflows, covering request types, event ordering, and custom dispatcher implementations.","breadcrumbs":[{"label":"Guides"},{"label":"Architecture"}]},{"id":"oc2o6VokL7LtnYU8Dwoo","title":"Onboarding","pathname":"/guides/onboarding","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"LtgsYVjRMVsDcrFOPvxp","title":"Hosting Elsa in an Existing App","pathname":"/guides/onboarding/hosting-elsa-in-existing-app","siteSpaceId":"sitesp_AnEHc","description":"Step-by-step guide to integrating Elsa Workflows into an existing ASP.NET Core application, including persistence setup, common pain points, and troubleshooting.","breadcrumbs":[{"label":"Guides"},{"label":"Onboarding"}]},{"id":"a12nDgAoMqIpf7fFI0m8","title":"Authentication & Authorization","pathname":"/guides/authentication","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to configuring authentication and authorization for Elsa Workflows, covering OIDC providers, API keys, custom authentication, and security best practices.","breadcrumbs":[{"label":"Guides"}]},{"id":"rISUvdr3j9ds7cEunPxa","title":"Security & Authentication","pathname":"/guides/security","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to securing Elsa Server and workflows end-to-end, covering identity, authentication, tokenized resume URLs, CORS, secrets management, and production hardening.","breadcrumbs":[{"label":"Guides"}]},{"id":"RxQYOwMBS56NyNk3fH4r","title":"Disable Auth in Development","pathname":"/guides/security/disable-auth","siteSpaceId":"sitesp_AnEHc","description":"Guide for disabling authentication in Elsa Server and Studio during development to simplify local testing and experimentation.","breadcrumbs":[{"label":"Guides"},{"label":"Security & Authentication"}]},{"id":"zGTQPNWgaErA5rEfStWs","title":"External Identity Providers","pathname":"/guides/security/external-identity-providers","siteSpaceId":"sitesp_AnEHc","description":"Guide to integrating Elsa Server with external identity providers including Microsoft Entra ID, Auth0, Keycloak, and other OpenID Connect / OAuth2 providers.","breadcrumbs":[{"label":"Guides"},{"label":"Security & Authentication"}]},{"id":"G4w4Jhrz6eLMckxLjDie","title":"Deployment","pathname":"/guides/deployment","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"ciJmTHd2TAHvec42D2aa","title":"Kubernetes Basics","pathname":"/guides/deployment/kubernetes","siteSpaceId":"sitesp_AnEHc","description":"Quick start guide for deploying Elsa Workflows to Kubernetes with PostgreSQL persistence, including configuration, troubleshooting, and production best practices.","breadcrumbs":[{"label":"Guides"},{"label":"Deployment"}]},{"id":"spQD2Sbh8QQ0vUjOQws8","title":"Kubernetes Deployment","pathname":"/guides/kubernetes-deployment","siteSpaceId":"sitesp_AnEHc","description":"Complete Kubernetes deployment guide for Elsa Workflows including Helm charts, deployment configurations, ingress setup, autoscaling, monitoring, service mesh integration, and production best practice","breadcrumbs":[{"label":"Guides"}]},{"id":"Rv0Z9Idv7Cyy6wxoVGwk","title":"Integration","pathname":"/guides/integration","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"z0VDlU46Pk3rRUt8Jz0S","title":"Blazor Dashboard","pathname":"/guides/integration/blazor-dashboard","siteSpaceId":"sitesp_AnEHc","description":"Guide to integrating Elsa Studio with Blazor Server applications, covering hosting patterns, authentication configuration, and troubleshooting common issues.","breadcrumbs":[{"label":"Guides"},{"label":"Integration"}]},{"id":"9jwmIJuKax1UZFYdZTJ4","title":"Clustering","pathname":"/guides/clustering","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to running Elsa Workflows in clustered and distributed production environments, covering architecture patterns, distributed locking, scheduling, and operational best practices.","breadcrumbs":[{"label":"Guides"}]},{"id":"fCVL6lRwr4vAqct6JUSY","title":"Performance & Scaling","pathname":"/guides/performance","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to optimizing Elsa Workflows for high-throughput scenarios, covering commit strategies, state persistence tuning, observability, and performance best practices.","breadcrumbs":[{"label":"Guides"}]},{"id":"Mz66HxT2ubICSLwg7COU","title":"Throughput Tuning","pathname":"/guides/performance/throughput-tuning","siteSpaceId":"sitesp_AnEHc","description":"Practical examples for tuning Elsa Workflows throughput, including commit strategies, clustering optimizations, and resource management.","breadcrumbs":[{"label":"Guides"},{"label":"Performance & Scaling"}]},{"id":"4AnZvGZUECEJ2A2kX7DI","title":"API & Client","pathname":"/guides/api-client","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to interacting with Elsa Server programmatically via HTTP APIs and the elsa-api-client library, covering workflow publishing, instance management, bookmarks, and resilience pattern","breadcrumbs":[{"label":"Guides"}]},{"id":"VbTM0hNqgMFQvzbCj47G","title":"Persistence","pathname":"/guides/persistence","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to choosing, configuring, and tuning persistence providers for Elsa Workflows v3, covering EF Core, MongoDB, and Dapper, along with retention, migrations, and operational best prac","breadcrumbs":[{"label":"Guides"}]},{"id":"ApLvi3Tevq8dejQVw50Y","title":"SQL Server","pathname":"/guides/persistence/sql-server","siteSpaceId":"sitesp_AnEHc","description":"Complete guide to configuring SQL Server as the persistence provider for Elsa Workflows v3, including setup, configuration, and migration guidance.","breadcrumbs":[{"label":"Guides"},{"label":"Persistence"}]},{"id":"jbtqzfSwZJyLHMSbeYtP","title":"EF Core Migrations","pathname":"/guides/persistence/ef-migrations","siteSpaceId":"sitesp_AnEHc","description":"Complete guide to working with Entity Framework Core migrations in Elsa Workflows v3, including custom migrations, DbContext management, and versioning strategies.","breadcrumbs":[{"label":"Guides"},{"label":"Persistence"}]},{"id":"sugwzgaUQzHOJuaHiLAt","title":"EF Core Setup","pathname":"/guides/persistence/efcore-setup","siteSpaceId":"sitesp_AnEHc","description":"Minimal example to enable Entity Framework Core persistence for Elsa Workflows, including database provider setup and migrations.","breadcrumbs":[{"label":"Guides"},{"label":"Persistence"}]},{"id":"ADV52SaWlVHcYvLGLXrC","title":"MongoDB Setup","pathname":"/guides/persistence/mongodb-setup","siteSpaceId":"sitesp_AnEHc","description":"Minimal example to enable MongoDB persistence for Elsa Workflows, including connection configuration and index creation guidance.","breadcrumbs":[{"label":"Guides"},{"label":"Persistence"}]},{"id":"EQ18lCPnYBvstCIKITDU","title":"Dapper Setup","pathname":"/guides/persistence/dapper-setup","siteSpaceId":"sitesp_AnEHc","description":"Minimal example to enable Dapper persistence for Elsa Workflows, including connection factory setup and schema responsibility notes.","breadcrumbs":[{"label":"Guides"},{"label":"Persistence"}]},{"id":"h7t1fXklpUObK7dHtgUu","title":"Indexing Notes","pathname":"/guides/persistence/indexing-notes","siteSpaceId":"sitesp_AnEHc","description":"Recommended database indexes for Elsa Workflows persistence stores to optimize common query patterns.","breadcrumbs":[{"label":"Guides"},{"label":"Persistence"}]},{"id":"mEsiSEWaBpnsxPA41ier","title":"HTTP Workflows","pathname":"/guides/http-workflows","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"kSfLJMWeE3tfbqSMfoVi","title":"Tutorial","pathname":"/guides/http-workflows/tutorial","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"},{"label":"HTTP Workflows"}]},{"id":"oMb4GyaCwyzJHF9zeUzm","title":"Programmatic","pathname":"/guides/http-workflows/programmatic","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"},{"label":"HTTP Workflows"}]},{"id":"sMrHHQEsQQC269Gcov3P","title":"Designer","pathname":"/guides/http-workflows/designer","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"},{"label":"HTTP Workflows"}]},{"id":"GDLJ9N7IWfU2lgGUXmpy","title":"External Application Interaction","pathname":"/guides/external-application-interaction","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"uiM3Yht1MhT2kzpnlBaq","title":"Loading Workflows from JSON","pathname":"/guides/loading-workflows-from-json","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"1zPNjazmEksokq6M4Ecg","title":"Plugins & Modules","pathname":"/guides/plugins-modules","siteSpaceId":"sitesp_AnEHc","description":"Complete guide to extending Elsa Workflows with custom modules, features, and activities. Learn how to create reusable plugins and distribute them as NuGet packages.","breadcrumbs":[{"label":"Guides"}]},{"id":"2JqxkRHvoRlJYAMrGtne","title":"Extensibility","pathname":"/guides/modules-and-plugins","siteSpaceId":"sitesp_AnEHc","description":"Learn how to extend Elsa Workflows v3 with custom modules and plugins. Covers module registration, contributing activities, services, and API endpoints with practical examples.","breadcrumbs":[{"label":"Guides"}]},{"id":"zT4WRYgwRLoSGt6NdT9A","title":"Testing & Debugging Workflows","pathname":"/guides/testing-debugging","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to testing and debugging workflows in Elsa Workflows, covering unit testing, integration testing, debugging techniques, test data management, CI/CD integration, and best practices.","breadcrumbs":[{"label":"Guides"}]},{"id":"EeuRBpMfWUmrGWGgCJfA","title":"Running Workflows","pathname":"/guides/running-workflows","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"}]},{"id":"qIBctFdpZSb3yvCMVRPo","title":"Using Elsa Studio","pathname":"/guides/running-workflows/using-elsa-studio","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Running Workflows"}]},{"id":"euntzfkoKTUusqW7LFKM","title":"Using a Trigger","pathname":"/guides/running-workflows/using-a-trigger","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Running Workflows"}]},{"id":"EuM9eZn5QlypnKTTCZtM","title":"Dispatch Workflow Activity","pathname":"/guides/running-workflows/dispatch-workflow-activity","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Guides"},{"label":"Running Workflows"}]},{"id":"Q1RVyLnAARoV46KqohIG","title":"Studio User Guide","pathname":"/guides/studio","siteSpaceId":"sitesp_AnEHc","description":"A comprehensive guide to using Elsa Studio, the visual designer and admin UI for Elsa Workflows v3.","breadcrumbs":[{"label":"Guides"}]},{"id":"wXRyFDpZ9nxZgwiKX5UU","title":"Expressions","pathname":"/guides/studio/expressions","siteSpaceId":"sitesp_AnEHc","description":"Learn how to use expressions in Elsa Studio to reference variables, access data, and create dynamic workflows with JavaScript and C# code.","breadcrumbs":[{"label":"Guides"},{"label":"Studio User Guide"}]},{"id":"lEbj0dOnKEqbLtMP86u3","title":"Custom UI Components","pathname":"/guides/studio/custom-ui-components","siteSpaceId":"sitesp_AnEHc","description":"Learn how to create custom UI components for Elsa Studio, including custom property editors for activity inputs and integration of React/Angular components via web components.","breadcrumbs":[{"label":"Guides"},{"label":"Studio User Guide"}]},{"id":"FNteEnZuyBLfwZuaAzwT","title":"Integration","pathname":"/guides/studio/integration","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive guide to integrating Elsa Studio into different host frameworks including React, Angular, Blazor, and MVC/Razor Pages. Covers hosting patterns, configuration, and authentication.","breadcrumbs":[{"label":"Guides"},{"label":"Studio User Guide"}]},{"id":"57CffbLiMPexW9hk7uKL","title":"Workflow Patterns","pathname":"/guides/patterns","siteSpaceId":"sitesp_AnEHc","description":"A practical, pattern-based guide to designing and implementing common workflow patterns with Elsa Workflows v3. Each pattern provides grounded guidance, code snippets, pitfalls, and references to elsa","breadcrumbs":[{"label":"Guides"}]},{"id":"6Plz2IHslqkqnBwyARDc","title":"Troubleshooting","pathname":"/guides/troubleshooting","siteSpaceId":"sitesp_AnEHc","description":"Comprehensive troubleshooting guide for diagnosing and resolving common Elsa Workflows issues in development and production environments.","breadcrumbs":[{"label":"Guides"}]},{"id":"fsvaZf4JfAtsF3CfWIJj","title":"Common Properties","pathname":"/activities/common-properties","siteSpaceId":"sitesp_AnEHc","description":"There are few properties that all activities share, so we introduce them here and omit including them in introduction of every activity.","breadcrumbs":[{"label":"Activities"}]},{"id":"3gBt1hU7vDAYkccT7mB1","title":"Blocking Activities & Triggers","pathname":"/activities/blocking-and-triggers","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Activities"}]},{"id":"tUgzMWFk60vlfnsJSPST","title":"Control Flow","pathname":"/activities/control-flow","siteSpaceId":"sitesp_AnEHc","description":"This section covers all built-in control flow activities.","breadcrumbs":[{"label":"Activities"}]},{"id":"aDcG7zZqDAgp19TQFvlC","title":"Decision","pathname":"/activities/control-flow/decision","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Activities"},{"label":"Control Flow"}]},{"id":"I1oV3oubIboTe0lXaUp6","title":"Parallel Execution","pathname":"/activities/parallel-execution","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Activities"}]},{"id":"SlLmKSk0G1rVKkZbiNfW","title":"MassTransit","pathname":"/activities/masstransit","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Activities"}]},{"id":"fcPNhb2YlCDVmvVuwloe","title":"Tutorial","pathname":"/activities/masstransit/tutorial","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Activities"},{"label":"MassTransit"}]},{"id":"FefmhhdEuJrKhetnEsWV","title":"Diagnostics","pathname":"/activities/diagnostics","siteSpaceId":"sitesp_AnEHc","description":"Covers all activities in the Diagnostics category","breadcrumbs":[{"label":"Activities"}]},{"id":"uYKNqiebSrBINJCLBqt2","title":"Log","pathname":"/activities/diagnostics/log","siteSpaceId":"sitesp_AnEHc","description":"Emits log entries to a configurable set of log targets called sinks","breadcrumbs":[{"label":"Activities"},{"label":"Diagnostics"}]},{"id":"yD3Q9uo1kg5oBy7dm605","title":"C#","pathname":"/expressions/c","siteSpaceId":"sitesp_AnEHc","description":"In this section, we cover some of the built-in variables and functions available to the C# expression syntax.","breadcrumbs":[{"label":"Expressions"}]},{"id":"pvPKeOzrxgLPlKOpJ6hZ","title":"JavaScript","pathname":"/expressions/javascript","siteSpaceId":"sitesp_AnEHc","description":"In this section, we cover some of the built-in variables and functions available to the JavaScript expression syntax.","breadcrumbs":[{"label":"Expressions"}]},{"id":"PFzilEeJY80C4Axc7kZD","title":"Python","pathname":"/expressions/python","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Expressions"}]},{"id":"izW93iGzXa78xX1GynZs","title":"Liquid","pathname":"/expressions/liquid","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Expressions"}]},{"id":"qULpF8u793nzDV85VCPy","title":"Custom Activities","pathname":"/extensibility/custom-activities","siteSpaceId":"sitesp_AnEHc","description":"Complete guide to extending Elsa Workflows V3 with custom activities, including inputs/outputs, blocking activities, triggers, dependency injection, and UI hints.","breadcrumbs":[{"label":"Extensibility"}]},{"id":"p5TvAXmzzFAyRd50O6SM","title":"Reusable Triggers","pathname":"/extensibility/reusable-triggers-3.5-preview","siteSpaceId":"sitesp_AnEHc","description":"This page explains how to create custom trigger-based activities by reusing built-in base classes like `EventBase`, `TimerBase`, and `HttpEndpointBase`. It provides examples and guidance.","breadcrumbs":[{"label":"Extensibility"}]},{"id":"SzSneqtx9jjSStlIABTn","title":"Introduction","pathname":"/multitenancy/introduction","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Multitenancy"}]},{"id":"V9Lx3fRRGbMI280etbM6","title":"Setup","pathname":"/multitenancy/setup","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Multitenancy"}]},{"id":"tXcmoxQGXfaWCMwyrPWa","title":"Variables","pathname":"/operate/workflow-instance-variables","siteSpaceId":"sitesp_AnEHc","description":"This topic covers various services and API endpoints available for listing and managing the variables of a workflow instance.","breadcrumbs":[{"label":"Operate"}]},{"id":"DFPXQeAxDMfIMv4b8Dus","title":"Activation Strategies","pathname":"/operate/workflow-activation-strategies","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Operate"}]},{"id":"plOomPnc3q2H1lEfIp8Y","title":"Incidents","pathname":"/operate/incidents","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Operate"}]},{"id":"5lPU4qk1QoFQJuVpIkVc","title":"Strategies","pathname":"/operate/incidents/strategies","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Operate"},{"label":"Incidents"}]},{"id":"8NC8d1HzgvO6dQ9Y20LD","title":"Configuration","pathname":"/operate/incidents/configuration","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Operate"},{"label":"Incidents"}]},{"id":"8jJ759DHYhhbrzZ8JoFc","title":"Log Persistence","pathname":"/optimize/log-persistence","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Optimize"}]},{"id":"d9nWlfgTMrOXhQdOZkib","title":"Retention","pathname":"/optimize/retention","siteSpaceId":"sitesp_AnEHc","description":"This section explains the Retention feature and how it can be used to remove completed workflow instances automatically.","breadcrumbs":[{"label":"Optimize"}]},{"id":"hrKQn3ZdRj4tukNCLuqw","title":"Worker Count","pathname":"/optimize/workers","siteSpaceId":"sitesp_AnEHc","description":"This section explains how to configure Elsa to use more workers.","breadcrumbs":[{"label":"Optimize"}]},{"id":"gi7iD15yF7UVlqeva8pB","title":"Distributed Hosting","pathname":"/hosting/distributed-hosting","siteSpaceId":"sitesp_AnEHc","description":"Guide to configuring Elsa Workflows for distributed environments, covering runtime, locking, caching, and Quartz.NET clustering.","breadcrumbs":[{"label":"Hosting"}]},{"id":"oVloOQcXQIuAwFa0s5S8","title":"Studio Tour & Troubleshooting","pathname":"/studio/studio-tour-troubleshooting","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"}]},{"id":"cT4ez6lP4vVrtneFHm4z","title":"Design","pathname":"/studio/design","siteSpaceId":"sitesp_AnEHc","description":"This section displays the available customization options for Elsa Studio.","breadcrumbs":[{"label":"Studio"}]},{"id":"7TrFwFgfYqT8b70TyhWr","title":"Workflow Editor (3.5-preview)","pathname":"/studio/design/workflow-editor-3.5-preview","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"},{"label":"Design"}]},{"id":"GOvGinlS5NGG2kkuWH1t","title":"Activity Pickers (3.7-preview)","pathname":"/studio/design/activity-pickers-3.7-preview","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"},{"label":"Design"}]},{"id":"KJOutobv5QOUcqL8Pk10","title":"Workflow Editor","pathname":"/studio/workflow-editor","siteSpaceId":"sitesp_AnEHc","description":"This section shows the various Elsa Studio customisation options available","breadcrumbs":[{"label":"Studio"}]},{"id":"krHerYOccrZ3xNzWIZ5Y","title":"UI Hints","pathname":"/studio/workflow-editor/ui-hints","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"},{"label":"Workflow Editor"}]},{"id":"Dmww7lAxYjhxsrgLhZg6","title":"Content Visualisers (3.6-preview)","pathname":"/studio/workflow-editor/content-visualisers-3.6-preview","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"},{"label":"Workflow Editor"}]},{"id":"0FEP7I56pNr8FfbFt9yB","title":"Field Extensions","pathname":"/studio/workflow-editor/field-extensions","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"},{"label":"Workflow Editor"}]},{"id":"aK7NygVZbCdUDxc1wEyr","title":"Localization","pathname":"/studio/localization","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Studio"}]},{"id":"keH9gXwWLgX2JWOIUfTa","title":"Authentication","pathname":"/authentication/authentication","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Authentication"}]},{"id":"NsQU3NTrzmAYXAD4QyJ0","title":"Alterations","pathname":"/features/alterations","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"}]},{"id":"CLTR8ITy5JJUvzeyIE7z","title":"Alteration Plans","pathname":"/features/alterations/alteration-plans","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"},{"label":"Alterations"}]},{"id":"E7mmHTXn4W9m3bkeoLma","title":"REST API","pathname":"/features/alterations/alteration-plans/rest-api","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"},{"label":"Alterations"},{"label":"Alteration Plans"}]},{"id":"iQUid3XbXZNpiAPsP6cf","title":"Applying Alterations","pathname":"/features/alterations/applying-alterations","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"},{"label":"Alterations"}]},{"id":"eHrd9h8nCsFzw77SCOWO","title":"REST API","pathname":"/features/alterations/applying-alterations/rest-api","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"},{"label":"Alterations"},{"label":"Applying Alterations"}]},{"id":"CvjkLqFxlO9doJcYvpc3","title":"Extensibility","pathname":"/features/alterations/applying-alterations/extensibility","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"},{"label":"Alterations"},{"label":"Applying Alterations"}]},{"id":"Y9qCBsz4eNaTCj06capc","title":"Logging Framework","pathname":"/features/logging-framework","siteSpaceId":"sitesp_AnEHc","description":"","breadcrumbs":[{"label":"Features"}]}]}