# Elsa 3

## Elsa 3

- [Elsa Workflows 3](https://docs.elsaworkflows.io/readme.md): Introducing Elsa Workflows 3
- [Concepts](https://docs.elsaworkflows.io/getting-started/concepts.md): This section provides a comprehensive overview of fundamental principles and key elements that form the foundation of Elsa.
- [Workflow Context](https://docs.elsaworkflows.io/getting-started/concepts/workflow-context.md): Understand what Elsa 3.8 stores in workflow state, activity state, variables, inputs, outputs, bookmarks, incidents, and execution logs.
- [Outcomes](https://docs.elsaworkflows.io/getting-started/concepts/outcomes.md)
- [Correlation ID](https://docs.elsaworkflows.io/getting-started/concepts/correlation-id.md)
- [Architecture Overview](https://docs.elsaworkflows.io/getting-started/architecture-overview.md): Comprehensive architecture guide covering Elsa's components, execution model, data flow, and deployment patterns for architects and integrators.
- [Hello World](https://docs.elsaworkflows.io/getting-started/hello-world.md): In this topic, we'll setup a simple Console and an ASP.NET Core application that can host and execute workflows.
- [Prerequisites](https://docs.elsaworkflows.io/getting-started/prerequisites.md)
- [Packages](https://docs.elsaworkflows.io/getting-started/packages.md)
- [Database Configuration](https://docs.elsaworkflows.io/getting-started/database-configuration.md): Learn how to configure Elsa Workflows to use different database providers for persistence, including SQL Server, PostgreSQL, and MongoDB.
- [Containers](https://docs.elsaworkflows.io/getting-started/containers.md)
- [Docker](https://docs.elsaworkflows.io/getting-started/containers/docker.md)
- [Docker Compose](https://docs.elsaworkflows.io/getting-started/containers/docker-compose.md): Explore various Docker Compose configurations for setting up Elsa and related services like PostgreSQL and Traefik.
- [Docker Quickstart](https://docs.elsaworkflows.io/getting-started/containers/docker-compose/docker-quickstart.md): 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.
- [Elsa Server + Studio](https://docs.elsaworkflows.io/getting-started/containers/docker-compose/elsa-server-+-studio.md): 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.
- [Elsa Server + Studio - Single Image](https://docs.elsaworkflows.io/getting-started/containers/docker-compose/elsa-server-+-studio-single-image.md): 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.
- [Persistent Database](https://docs.elsaworkflows.io/getting-started/containers/docker-compose/persistent-database.md)
- [Traefik](https://docs.elsaworkflows.io/getting-started/containers/docker-compose/traefik.md)
- [Elsa Server](https://docs.elsaworkflows.io/application-types/elsa-server.md): In this topic, we'll create an ASP.NET Core application that acts as a workflow server.
- [Elsa Studio](https://docs.elsaworkflows.io/application-types/elsa-studio.md): 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.
- [Elsa Server + Studio (WASM)](https://docs.elsaworkflows.io/application-types/elsa-server-+-studio-wasm.md): In this topic, we will create an ASP.NET Core application that acts as both an Elsa Server and an Elsa Studio.
- [V2 to V3 Migration Guide](https://docs.elsaworkflows.io/guides/migration-v2-to-v3.md): Complete migration guide from Elsa Workflows V2 to V3, covering breaking changes, custom activities, workflows, and concepts.
- [Architecture](https://docs.elsaworkflows.io/guides/architecture.md): High-level overview of Elsa Workflows v3 architecture, covering workflow execution flow, core concepts like bookmarks and triggers, workflow runtimes, and multitenancy.
- [Execution Model](https://docs.elsaworkflows.io/guides/architecture/execution-model.md): Release-backed guide to Elsa's execution model in 3.8.0, covering direct execution, dispatched execution, triggers, bookmarks, stimuli, persistence, and recovery.
- [Workflow Dispatcher Architecture](https://docs.elsaworkflows.io/guides/architecture/workflow-dispatcher.md): Deep dive into IWorkflowDispatcher: the core dispatching abstraction for queuing and executing workflows, covering request types, event ordering, and custom dispatcher implementations.
- [Standalone and Modular Hosting](https://docs.elsaworkflows.io/guides/architecture/standalone-and-modular-hosting.md): Release-backed configuration matrix for code-first Elsa hosts and the CShells-based modular server in Elsa 3.8.0.
- [Onboarding](https://docs.elsaworkflows.io/guides/onboarding.md)
- [Hosting Elsa in an Existing App](https://docs.elsaworkflows.io/guides/onboarding/hosting-elsa-in-existing-app.md): Step-by-step guide to integrating Elsa Workflows into an existing ASP.NET Core application, including persistence setup, common pain points, and troubleshooting.
- [Authentication & Authorization](https://docs.elsaworkflows.io/guides/authentication.md): Comprehensive guide to configuring authentication and authorization for Elsa Workflows, covering OIDC providers, API keys, custom authentication, and security best practices.
- [Security & Authentication](https://docs.elsaworkflows.io/guides/security.md): Comprehensive guide to securing Elsa Server and workflows end-to-end, covering identity, authentication, tokenized resume URLs, CORS, secrets management, and production hardening.
- [Disable Auth in Development](https://docs.elsaworkflows.io/guides/security/disable-auth.md): Guide for disabling authentication in Elsa Server and Studio during development to simplify local testing and experimentation.
- [Elsa API Permissions](https://docs.elsaworkflows.io/guides/security/permission-reference.md): Release-backed reference for Elsa API permission claims, Studio capabilities, and least-privilege role templates in Elsa 3.8.0.
- [HTTP Endpoint Security](https://docs.elsaworkflows.io/guides/security/http-endpoint-security.md): Secure Elsa HTTP workflow endpoints in 3.8.0 by separating workflow ingress authorization from Elsa API permissions and Studio access.
- [External Identity Providers](https://docs.elsaworkflows.io/guides/security/external-identity-providers.md): Release-backed guide to wiring Elsa Server and Elsa Studio to external OpenID Connect identity providers in Elsa 3.8.
- [Deployment](https://docs.elsaworkflows.io/guides/deployment.md)
- [Configuration Management](https://docs.elsaworkflows.io/guides/deployment/configuration-management.md): Manage Elsa Server, Elsa Studio, and modular host configuration with appsettings, environment overrides, and source-backed section names for release 3.8.0.
- [Kubernetes Basics](https://docs.elsaworkflows.io/guides/deployment/kubernetes.md): Quick start guide for deploying Elsa Workflows to Kubernetes with PostgreSQL persistence, including configuration, troubleshooting, and production best practices.
- [Kubernetes Deployment](https://docs.elsaworkflows.io/guides/kubernetes-deployment.md): Complete Kubernetes deployment guide for Elsa Workflows including Helm charts, deployment configurations, ingress setup, autoscaling, monitoring, service mesh integration, and production best practice
- [Integration](https://docs.elsaworkflows.io/guides/integration.md)
- [Blazor Dashboard](https://docs.elsaworkflows.io/guides/integration/blazor-dashboard.md): Guide to integrating Elsa Studio with Blazor Server applications, covering hosting patterns, authentication configuration, and troubleshooting common issues.
- [Message Broker Topology](https://docs.elsaworkflows.io/guides/integration/message-broker-topology.md)
- [Clustering](https://docs.elsaworkflows.io/guides/clustering.md): Comprehensive guide to running Elsa Workflows in clustered and distributed production environments, covering architecture patterns, distributed locking, scheduling, and operational best practices.
- [Performance & Scaling](https://docs.elsaworkflows.io/guides/performance.md): Release-backed guidance for measuring and tuning Elsa 3.8.0 throughput without trading away workflow durability or operational visibility by accident.
- [Throughput Tuning](https://docs.elsaworkflows.io/guides/performance/throughput-tuning.md): Small, release-backed Elsa 3.8.0 configuration examples for testing commit, worker, and transactional-outbox tradeoffs under load.
- [API & Client](https://docs.elsaworkflows.io/guides/api-client.md): A release-3.8 reference for Elsa's management API, .NET client interfaces, endpoint permissions, and bookmark-resume callbacks.
- [Persistence](https://docs.elsaworkflows.io/guides/persistence.md): 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
- [SQL Server](https://docs.elsaworkflows.io/guides/persistence/sql-server.md): Complete guide to configuring SQL Server as the persistence provider for Elsa Workflows v3, including setup, configuration, and migration guidance.
- [EF Core Migrations](https://docs.elsaworkflows.io/guides/persistence/ef-migrations.md): Complete guide to working with Entity Framework Core migrations in Elsa Workflows v3, including custom migrations, DbContext management, and versioning strategies.
- [EF Core Setup](https://docs.elsaworkflows.io/guides/persistence/efcore-setup.md): Minimal example to enable Entity Framework Core persistence for Elsa Workflows, including database provider setup and migrations.
- [MongoDB Setup](https://docs.elsaworkflows.io/guides/persistence/mongodb-setup.md): Minimal example to enable MongoDB persistence for Elsa Workflows, including connection configuration and indexing notes.
- [Dapper Setup](https://docs.elsaworkflows.io/guides/persistence/dapper-setup.md): Minimal example to enable Dapper persistence for Elsa Workflows, including connection provider setup and migrations.
- [Indexing Notes](https://docs.elsaworkflows.io/guides/persistence/indexing-notes.md): Recommended database indexes for Elsa Workflows persistence stores to optimize common query patterns.
- [HTTP Workflows](https://docs.elsaworkflows.io/guides/http-workflows.md)
- [Tutorial](https://docs.elsaworkflows.io/guides/http-workflows/tutorial.md)
- [Programmatic](https://docs.elsaworkflows.io/guides/http-workflows/programmatic.md)
- [Designer](https://docs.elsaworkflows.io/guides/http-workflows/designer.md)
- [External Application Interaction](https://docs.elsaworkflows.io/guides/external-application-interaction.md)
- [Loading Workflows from JSON](https://docs.elsaworkflows.io/guides/loading-workflows-from-json.md)
- [Plugins & Modules](https://docs.elsaworkflows.io/guides/plugins-modules.md): Complete guide to extending Elsa Workflows with custom modules, features, and activities. Learn how to create reusable plugins and distribute them as NuGet packages.
- [Extensibility](https://docs.elsaworkflows.io/guides/modules-and-plugins.md): Learn how to extend Elsa Workflows v3 with custom modules and plugins. Covers module registration, contributing activities, services, and API endpoints with practical examples.
- [Testing & Debugging Workflows](https://docs.elsaworkflows.io/guides/testing-debugging.md): Test custom Elsa activities and workflows with the released Elsa testing fixtures, then diagnose real workflow instances with the journal and runtime tools.
- [Running Workflows](https://docs.elsaworkflows.io/guides/running-workflows.md)
- [Using Elsa Studio](https://docs.elsaworkflows.io/guides/running-workflows/using-elsa-studio.md)
- [Using a Trigger](https://docs.elsaworkflows.io/guides/running-workflows/using-a-trigger.md)
- [Timer and Scheduled Workflows](https://docs.elsaworkflows.io/guides/running-workflows/timer-and-scheduled-workflows.md)
- [Hangfire Integration](https://docs.elsaworkflows.io/guides/running-workflows/hangfire-integration.md): Configure Hangfire as Elsa's durable workflow scheduler.
- [Long-Running Workflows](https://docs.elsaworkflows.io/guides/running-workflows/long-running-workflows.md)
- [Dispatch Workflow Activity](https://docs.elsaworkflows.io/guides/running-workflows/dispatch-workflow-activity.md)
- [Bulk Dispatch Workflows Activity](https://docs.elsaworkflows.io/guides/running-workflows/bulk-dispatch-workflows.md)
- [Studio User Guide](https://docs.elsaworkflows.io/guides/studio.md): A comprehensive guide to using Elsa Studio, the visual designer and admin UI for Elsa Workflows v3.
- [Expressions](https://docs.elsaworkflows.io/guides/studio/expressions.md): Learn how Elsa Studio expression editors map to Elsa Server expression engines, how to access workflow variables, and which syntax choices are actually available in Elsa 3.8.
- [Customization](https://docs.elsaworkflows.io/guides/studio/customization.md): Source-backed guide to the main Elsa Studio customization seams in release 3.8.0, including host composition, branding, menus, widgets, activity pickers, and editor extensibility.
- [Custom UI Components](https://docs.elsaworkflows.io/guides/studio/custom-ui-components.md): Source-backed guide to customizing Elsa Studio input editors in release 3.8.0 using backend UI hints, property UI handlers, and Studio UI hint handlers.
- [Integration](https://docs.elsaworkflows.io/guides/studio/integration.md): Source-backed guide to the Elsa Studio host models available in release 3.8.0, including standalone hosts, custom elements, backend configuration, and authentication.
- [Custom Elements Embedding](https://docs.elsaworkflows.io/guides/studio/integration/custom-elements.md): Source-backed cookbook for embedding Elsa Studio custom elements in release 3.8.0, including backend configuration, authentication, tenant headers, and React usage.
- [Platform Artifact Submission](https://docs.elsaworkflows.io/guides/studio/integration/platform-integration.md): Release-backed guidance for submitting Elsa Studio workflow definitions as Elsa Platform artifacts in Elsa Studio 3.8.0.
- [Workflow Patterns](https://docs.elsaworkflows.io/guides/patterns.md): 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
- [Troubleshooting](https://docs.elsaworkflows.io/guides/troubleshooting.md): Comprehensive troubleshooting guide for diagnosing and resolving common Elsa Workflows issues in development and production environments.
- [Activity Reference](https://docs.elsaworkflows.io/activities/activity-reference.md): Choose the Elsa activity that fits a workflow task and find its detailed guide.
- [Common Properties](https://docs.elsaworkflows.io/activities/common-properties.md): There are few properties that all activities share, so we introduce them here and omit including them in introduction of every activity.
- [Blocking Activities & Triggers](https://docs.elsaworkflows.io/activities/blocking-and-triggers.md)
- [Control Flow](https://docs.elsaworkflows.io/activities/control-flow.md): This section covers all built-in control flow activities.
- [Decision](https://docs.elsaworkflows.io/activities/control-flow/decision.md)
- [Parallel Execution](https://docs.elsaworkflows.io/activities/parallel-execution.md)
- [MassTransit](https://docs.elsaworkflows.io/activities/masstransit.md)
- [Tutorial](https://docs.elsaworkflows.io/activities/masstransit/tutorial.md)
- [Diagnostics](https://docs.elsaworkflows.io/activities/diagnostics.md): Covers all activities in the Diagnostics category
- [Log](https://docs.elsaworkflows.io/activities/diagnostics/log.md): Notes about logging from workflows in Elsa 3.7.0
- [C#](https://docs.elsaworkflows.io/expressions/c.md): In this section, we cover some of the built-in variables and functions available to the C# expression syntax.
- [JavaScript](https://docs.elsaworkflows.io/expressions/javascript.md): In this section, we cover some of the built-in variables and functions available to the JavaScript expression syntax.
- [Python](https://docs.elsaworkflows.io/expressions/python.md)
- [Liquid](https://docs.elsaworkflows.io/expressions/liquid.md)
- [Custom Activities](https://docs.elsaworkflows.io/extensibility/custom-activities.md): Release-backed guide to authoring custom Elsa activities in 3.8.0, including inputs, outputs, bookmarks, triggers, registration, Studio metadata, and testing.
- [Custom Resilience Strategies](https://docs.elsaworkflows.io/extensibility/custom-resilience-strategies.md): Add custom Polly-based resilience strategies and retry diagnostics to Elsa 3.8.0 workflows.
- [Reusable Triggers](https://docs.elsaworkflows.io/extensibility/reusable-triggers-3.5-preview.md): 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.
- [Introduction](https://docs.elsaworkflows.io/multitenancy/introduction.md)
- [Setup](https://docs.elsaworkflows.io/multitenancy/setup.md)
- [Monitoring & Observability](https://docs.elsaworkflows.io/operate/monitoring-observability.md): Release-backed guide to observing Elsa 3.8.0 with incidents, execution logs, activity execution records, Studio diagnostics, and OpenTelemetry.
- [Distributed Tracing](https://docs.elsaworkflows.io/operate/distributed-tracing.md): Release-backed guide to tracing Elsa 3.8.0 workflows with Elsa.Workflows instrumentation and the OpenTelemetry diagnostics collector.
- [Investigate a Workflow Instance](https://docs.elsaworkflows.io/operate/workflow-state-and-journal.md): Investigate a live Elsa 3.8.0 workflow instance with Studio and the runtime APIs for state, journal entries, activity executions, and variables.
- [Variables](https://docs.elsaworkflows.io/operate/workflow-instance-variables.md): Inspect and update workflow instance variables through Elsa Studio, the runtime API, or \`IWorkflowInstanceVariableManager\`.
- [Activation Strategies](https://docs.elsaworkflows.io/operate/workflow-activation-strategies.md)
- [Incidents](https://docs.elsaworkflows.io/operate/incidents.md): Release-backed guide to faults, incidents, retries, and operator recovery in Elsa 3.8.0.
- [Strategies](https://docs.elsaworkflows.io/operate/incidents/strategies.md): Built-in incident strategies and their real 3.8.0 behavior.
- [Configuration](https://docs.elsaworkflows.io/operate/incidents/configuration.md): Release-backed incident strategy configuration for Elsa 3.8.0 hosts and workflow definitions.
- [Log Persistence](https://docs.elsaworkflows.io/optimize/log-persistence.md)
- [Retention](https://docs.elsaworkflows.io/optimize/retention.md): This section explains the Retention feature and how it can be used to remove completed workflow instances automatically.
- [Worker Count](https://docs.elsaworkflows.io/optimize/workers.md): This section explains how to configure Elsa to use more workers.
- [Distributed Hosting](https://docs.elsaworkflows.io/hosting/distributed-hosting.md): Guide to configuring Elsa Workflows for distributed environments, covering runtime, locking, caching, and Quartz.NET clustering.
- [Studio Tour & Troubleshooting](https://docs.elsaworkflows.io/studio/studio-tour-troubleshooting.md)
- [Design](https://docs.elsaworkflows.io/studio/design.md): This section displays the available customization options for Elsa Studio.
- [Workflow Editor (3.5-preview)](https://docs.elsaworkflows.io/studio/design/workflow-editor-3.5-preview.md)
- [Activity Pickers (3.7-preview)](https://docs.elsaworkflows.io/studio/design/activity-pickers-3.7-preview.md)
- [Workflow Editor](https://docs.elsaworkflows.io/studio/workflow-editor.md): This section shows the various Elsa Studio customisation options available
- [UI Hints](https://docs.elsaworkflows.io/studio/workflow-editor/ui-hints.md): Source-backed guide to Elsa Studio UI hints in release 3.8.0, including default inference, built-in editors, option providers, and custom handlers.
- [Content Visualisers (3.6-preview)](https://docs.elsaworkflows.io/studio/workflow-editor/content-visualisers-3.6-preview.md)
- [Field Extensions](https://docs.elsaworkflows.io/studio/workflow-editor/field-extensions.md)
- [Localization](https://docs.elsaworkflows.io/studio/localization.md)
- [Authentication](https://docs.elsaworkflows.io/authentication/authentication.md)
- [Alterations](https://docs.elsaworkflows.io/features/alterations.md)
- [Alteration Plans](https://docs.elsaworkflows.io/features/alterations/alteration-plans.md)
- [REST API](https://docs.elsaworkflows.io/features/alterations/alteration-plans/rest-api.md)
- [Applying Alterations](https://docs.elsaworkflows.io/features/alterations/applying-alterations.md)
- [REST API](https://docs.elsaworkflows.io/features/alterations/applying-alterations/rest-api.md)
- [Extensibility](https://docs.elsaworkflows.io/features/alterations/applying-alterations/extensibility.md)
- [Logging Framework](https://docs.elsaworkflows.io/features/logging-framework.md)
