# DBOS Documentation ## Docs - [AI Quickstart](https://docs.dbos.dev/ai/ai-quickstart.md): You can integrate DBOS durable workflows with your AI agents (or other AI systems) to make them reliable, observable, and resilient to failures. - [Observability & Reproducibility](https://docs.dbos.dev/ai/debugging.md): One of the most common problems you encounter building and operating agents is debugging failures, particularly those caused by unexpected agent behavior. - [Parallelizing & Scaling Agents](https://docs.dbos.dev/ai/distributing-agents.md): AI agents and applications often need to run many tasks in parallel. - [Reliable Human-in-the-Loop](https://docs.dbos.dev/ai/hitl.md): Many agents need a human in the loop for decisions that are too important to fully trust an LLM. - [Streaming Responses](https://docs.dbos.dev/ai/streaming.md): AI agents often need to stream output to clients in real time, for example, to display LLM output as it is generated, surface intermediate tool results, or report the progress of a long-running task. - [DBOS Architecture](https://docs.dbos.dev/architecture.md): DBOS provides a high-performance, easy-to-use library for durable workflows built on top of Postgres. - [DBOS Examples](https://docs.dbos.dev/examples/index.md): Example applications built with DBOS - [Comparing DBOS and Temporal](https://docs.dbos.dev/explanations/comparing-temporal.md): DBOS and Temporal both provide durable workflows. - [DBOSify: Drop-in Temporal Replacement](https://docs.dbos.dev/explanations/dbosify.md): You can run your existing Temporal code on DBOS with DBOSify. - [Migrating From Temporal](https://docs.dbos.dev/explanations/migrating-from-temporal.md): This guide explains how to migrate a Temporal application to DBOS, with a focus on how each major Temporal feature translates to DBOS. - [Cross-Language Interaction](https://docs.dbos.dev/explanations/portable-workflows.md): DBOS applications and clients in different languages can interoperate using portable JSON serialization - [DBOS System Database](https://docs.dbos.dev/explanations/system-tables.md): DBOS system database reference - [Troubleshooting & FAQ](https://docs.dbos.dev/faq.md): Where do I find the DBOS tables? - [Fault-Tolerant Checkout](https://docs.dbos.dev/golang/examples/widget-store.md): This example is also available in TypeScript, Java, and Python. - [Add DBOS To Your App](https://docs.dbos.dev/golang/integrating-dbos.md): This guide shows you how to add the open-source DBOS Transact library to your existing application to durably execute it and make it resilient to any failure. - [Learn DBOS Go](https://docs.dbos.dev/golang/programming-guide.md): This guide shows you how to use DBOS to build Go apps that are resilient to any failure. - [AI Model Prompting](https://docs.dbos.dev/golang/prompting.md): You may want assistance from an AI model in building a DBOS application. - [DBOS CLI](https://docs.dbos.dev/golang/reference/cli.md): Click here to view the DBOS CLI documentation → - [DBOS Client](https://docs.dbos.dev/golang/reference/client.md): Client provides a programmatic way to interact with your DBOS application from external code. - [Datasources](https://docs.dbos.dev/golang/reference/datasources.md): A datasource is a handle to a database you own, over which DBOS can run durable transactions. - [DBOS Context](https://docs.dbos.dev/golang/reference/dbos-context.md): A DBOS Context is at the center of a DBOS-enabled application. Use it to register workflows, queues and perform workflow management tasks. - [DBOS Methods & Variables](https://docs.dbos.dev/golang/reference/methods.md): Workflow Communication - [Queues](https://docs.dbos.dev/golang/reference/queues.md): Workflow queues allow you to ensure that workflow functions will be run, without starting them immediately. - [Workflows & Steps](https://docs.dbos.dev/golang/reference/workflows-steps.md): RegisterWorkflow - [Queues & Concurrency](https://docs.dbos.dev/golang/tutorials/queue-tutorial.md): You can use queues to run many workflows at once with managed concurrency. - [Scheduling Workflows](https://docs.dbos.dev/golang/tutorials/scheduled-workflows.md): You can schedule DBOS workflows to run on a cron schedule. - [Steps](https://docs.dbos.dev/golang/tutorials/step-tutorial.md): When using DBOS workflows, you should call any function that performs complex operations or accesses external APIs or services as a step. - [Testing & Mocking](https://docs.dbos.dev/golang/tutorials/testing.md): DBOSContext is a fully mockable interface, which you manually mock, or can generate mocks using tools like mockery. - [Transactions & Datasources](https://docs.dbos.dev/golang/tutorials/transaction-tutorial.md): Learn how to perform database operations durably - [Upgrading Workflow Code](https://docs.dbos.dev/golang/tutorials/upgrading-workflows.md): A challenge encountered when operating long-running durable workflows in production is how to deploy breaking changes without disrupting in-progress workflows. - [Communicating with Workflows](https://docs.dbos.dev/golang/tutorials/workflow-communication.md): DBOS provides a few different ways to communicate with your workflows. - [Workflow Management](https://docs.dbos.dev/golang/tutorials/workflow-management.md): You can view and manage your durable workflow executions via the DBOS Console or programmatically. - [Workflows](https://docs.dbos.dev/golang/tutorials/workflow-tutorial.md): Workflows provide durable execution so you can write programs that are resilient to any failure. - [Welcome to DBOS!](https://docs.dbos.dev/index.md): DBOS is a library for building reliable programs. - [CockroachDB](https://docs.dbos.dev/integrations/cockroachdb.md): Here's how to connect your DBOS application running on your computer or cloud environment to your CockroachDB database. - [Django](https://docs.dbos.dev/integrations/django.md): This guide shows you how to add DBOS durable workflows to your existing Django application to make it resilient to any failure. - [Google ADK](https://docs.dbos.dev/integrations/google-adk.md): You can use DBOS to add durable execution to an agent built with Google ADK. - [Lakebase](https://docs.dbos.dev/integrations/lakebase.md): Here's how to connect your DBOS application running on your computer or cloud environment to your Databricks Lakebase Postgres database. - [LlamaIndex](https://docs.dbos.dev/integrations/llamaindex.md): LlamaIndex Workflows is a Python framework for orchestrating AI agents by composing steps and events into structured workflows. - [Logfire](https://docs.dbos.dev/integrations/logfire.md): Pydantic Logfire is an observability platform built on OpenTelemetry that makes it easy to monitor your application. - [DBOS MCP Server](https://docs.dbos.dev/integrations/mcp.md): You can use the DBOS Model Context Protocol (MCP) server to augment your LLM or agent with tools that can analyze and manage your DBOS workflows. - [Neon](https://docs.dbos.dev/integrations/neon.md): Here's how to connect your DBOS application running on your computer or cloud environment to your Neon database. - [Nest.js](https://docs.dbos.dev/integrations/nestjs.md): This guide shows you how to add DBOS durable workflows to your existing Nest.js application to make it resilient to any failure. - [Next.js](https://docs.dbos.dev/integrations/nextjs.md): To learn how to run DBOS with Next.js on Vercel, see the Vercel integration guide. - [OpenAI Agents SDK](https://docs.dbos.dev/integrations/openai-agents.md): You can use DBOS to add durable execution to an agent built with the OpenAI Agents SDK. - [Parseable](https://docs.dbos.dev/integrations/parseable.md): Parseable can ingest OpenTelemetry logs and traces from DBOS application processes as well as Conductor Metrics. - [Pydantic AI](https://docs.dbos.dev/integrations/pydantic-ai.md): Pydantic AI is a Python agent framework for building production-grade applications and workflows powered by Generative AI. - [Supabase](https://docs.dbos.dev/integrations/supabase.md): To learn more about how DBOS and Supabase are working together, check out this blog post! - [Tiger Data](https://docs.dbos.dev/integrations/tigerdata.md): Here's how to connect your DBOS application running on your computer or cloud environment to a Postgres or TimescaleDB database running in Tiger Cloud (the makers of TimescaleDB). - [Vercel](https://docs.dbos.dev/integrations/vercel.md): You can use DBOS to add durable workflows, background jobs, or AI agents to your Next.js app hosted on Vercel. - [Vercel AI SDK](https://docs.dbos.dev/integrations/vercel-ai.md): You can use DBOS to add durable execution to agents built with the Vercel AI SDK through the @dbos-inc/vercel-ai package. - [Fault-Tolerant Checkout](https://docs.dbos.dev/java/examples/widget-store.md): This example is also available in TypeScript, Go, and Python. - [Add DBOS To Your App](https://docs.dbos.dev/java/integrating-dbos.md): This guide shows you how to add the open-source DBOS Transact library to your existing application to durably execute it and make it resilient to any failure. - [Learn DBOS Java](https://docs.dbos.dev/java/programming-guide.md): This guide shows you how to use DBOS to build Java apps that are resilient to any failure. - [AI Model Prompting](https://docs.dbos.dev/java/prompting.md): You may want assistance from an AI model in building a DBOS application. - [DBOS Client](https://docs.dbos.dev/java/reference/client.md): DBOSClient provides a programmatic way to interact with your DBOS application from external code. - [Kotlin Extensions](https://docs.dbos.dev/java/reference/kotlin.md): DBOS ships Kotlin extension functions on the DBOS class in the dev.dbos.transact package. - [DBOS Lifecycle](https://docs.dbos.dev/java/reference/lifecycle.md): You create a DBOS instance exactly once in a program's lifetime, register your workflows and queues, then launch it. - [DBOS Methods & Variables](https://docs.dbos.dev/java/reference/methods.md): Workflow Communication Methods - [DBOS Plugin Architecture](https://docs.dbos.dev/java/reference/plugins.md): Unless you intend to extend the DBOS Transact library, you can ignore this topic. - [Queues](https://docs.dbos.dev/java/reference/queues.md): Workflow queues ensure that workflow functions will be run, without starting them immediately. - [Spring Boot Starter](https://docs.dbos.dev/java/reference/spring-boot-starter.md): The transact-spring-boot-starter provides Spring Boot auto-configuration for DBOS Transact. - [Workflows & Steps](https://docs.dbos.dev/java/reference/workflows-steps.md): Annotations - [Using DBOS with Kotlin](https://docs.dbos.dev/java/tutorials/kotlin.md): Write DBOS workflows and steps in Kotlin using idiomatic trailing lambda syntax. - [Queues & Concurrency](https://docs.dbos.dev/java/tutorials/queue-tutorial.md): You can use queues to run many workflows at once with managed concurrency. - [Scheduled Workflows](https://docs.dbos.dev/java/tutorials/scheduled-workflows.md): Learn how to run DBOS workflows on a schedule. - [Spring Boot Integration](https://docs.dbos.dev/java/tutorials/spring-boot-integration.md): Add DBOS durable workflows to a Spring Boot application. - [Transactional Steps](https://docs.dbos.dev/java/tutorials/step-factory-tutorial.md): Regular DBOS steps checkpoint their output after the step body completes. - [Steps](https://docs.dbos.dev/java/tutorials/step-tutorial.md): When using DBOS workflows, you should call any method that performs complex operations or accesses external APIs or services as a step. - [Testing Workflows](https://docs.dbos.dev/java/tutorials/testing.md): Unit test DBOS workflows by mocking the DBOS instance. - [Upgrading Workflow Code](https://docs.dbos.dev/java/tutorials/upgrading-workflows.md): A challenge encountered when operating long-running durable workflows in production is how to deploy breaking changes without disrupting in-progress workflows. - [Workflows on Class Instances](https://docs.dbos.dev/java/tutorials/workflow-classes.md): Register multiple instances of a workflow class to share logic with per-instance configuration. - [Communicating with Workflows](https://docs.dbos.dev/java/tutorials/workflow-communication.md): DBOS provides a few different ways to communicate with your workflows. - [Workflow Management](https://docs.dbos.dev/java/tutorials/workflow-management.md): You can view and manage your durable workflow executions via the DBOS Console or programmatically. - [Workflows](https://docs.dbos.dev/java/tutorials/workflow-tutorial.md): Workflows provide durable execution so you can write programs that are resilient to any failure. - [Upgrading](https://docs.dbos.dev/java/upgrading.md): Upgrading to v1.0 - [Alerting](https://docs.dbos.dev/production/alerting.md): If you are using Conductor, you can configure automatic alerts when certain failure conditions are met. - [Audit Logs](https://docs.dbos.dev/production/audit-logs.md): If you are using Conductor, you can retrieve an audit log of the mutating operations performed against your organization: registering and deleting applications, managing workflows and schedules, creating and revoking API keys, changing roles and membership, and updating organization settings. - [Production Checklist](https://docs.dbos.dev/production/checklist.md): This page describes best practices you should follow when operating a DBOS application in production. - [DBOS Conductor](https://docs.dbos.dev/production/conductor.md): When operating DBOS durable workflows in production, we strongly recommend connecting your application to Conductor. - [Account Management](https://docs.dbos.dev/production/dbos-cloud/account-management.md): Learn how to manage DBOS Cloud users - [Application Management](https://docs.dbos.dev/production/dbos-cloud/application-management.md): Deploying Applications - [Bringing Your Own Database](https://docs.dbos.dev/production/dbos-cloud/byod-management.md): In this guide, you'll learn how to bring your own Postgres database instance to DBOS Cloud and deploy your applications to it. - [CI/CD Best Practices](https://docs.dbos.dev/production/dbos-cloud/cicd.md): Staging and Production Environments - [Cloud CLI Reference](https://docs.dbos.dev/production/dbos-cloud/cloud-cli.md): DBOS Cloud CLI reference - [Database Management](https://docs.dbos.dev/production/dbos-cloud/database-management.md): Learn how to manage DBOS Cloud database instances - [Deploying to DBOS Cloud](https://docs.dbos.dev/production/dbos-cloud/deploying-to-cloud.md): Any application built with DBOS can be deployed to DBOS Cloud. - [Monitoring Your Applications](https://docs.dbos.dev/production/dbos-cloud/monitoring-dashboard.md): The DBOS Cloud Console provides several tools to monitor your applications. - [Export Logs and Traces](https://docs.dbos.dev/production/dbos-cloud/otel-integration.md): This tutorial shows how to configure your DBOS Cloud application to export OpenTelemetry logs and traces to a third party observability service. If your service accepts the OTEL format, you can skip steps 1 and 2. Simply pass environment variables like OTELEXPORTEROTLP_HEADERS as app secrets (see step 3) and then configure logs and traces enpdoints as shown in step 4. - [Workflow Retention Policies](https://docs.dbos.dev/production/dbos-cloud/retention.md): You can configure workflow history retention policies for your application from the Retention Policy page of the DBOS Console. - [Secrets and Environment Variables](https://docs.dbos.dev/production/dbos-cloud/secrets.md): We recommend using secrets to securely manage your application's secrets and environment variables in DBOS Cloud. - [Workflow Management](https://docs.dbos.dev/production/dbos-cloud/workflow-management.md): Viewing Workflows - [Self-Hosting Conductor](https://docs.dbos.dev/production/hosting-conductor.md): Self-hosted Conductor is released under a proprietary license. - [Self-Hosting Conductor With Kubernetes](https://docs.dbos.dev/production/hosting-conductor-with-kubernetes.md): Self-hosted Conductor is released under a proprietary license. - [Deploying With Google Cloud Run](https://docs.dbos.dev/production/hosting-with-cloud-run.md): This guide covers deploying a DBOS application to Google Cloud Run with a Cloud SQL for PostgreSQL database. It includes best practices for security, availability, and scalability. This guide assumes DBOS Conductor is hosted separately. - [Deploying With Kubernetes](https://docs.dbos.dev/production/hosting-with-kubernetes.md): This guide covers deploying a DBOS application on Kubernetes. - [Metrics](https://docs.dbos.dev/production/metrics.md): If you are using Conductor, you can scrape metrics about your applications' workflows, steps, and executors from a Prometheus-compatible endpoint. - [Permissions and API Keys](https://docs.dbos.dev/production/permissions.md): DBOS Conductor controls access to your organization's applications, workflows, and settings using role-based access control (RBAC) for users and scoped API keys for applications and automation. - [Workflow Retention Policies](https://docs.dbos.dev/production/retention.md): If you are using Conductor, you can configure workflow history retention policies for your application from the Retention Policy page of the DBOS Console. - [Workflow Management](https://docs.dbos.dev/production/workflow-management.md): Workflow observability and management features are only available for applications connected to Conductor. - [Workflow Recovery](https://docs.dbos.dev/production/workflow-recovery.md): When the execution of a durable workflow is interrupted (for example, if its executor is restarted, interrupted, or crashes), another executor must recover the workflow and resume its execution. - [Human-in-the-Loop](https://docs.dbos.dev/python/examples/agent-inbox.md): This example shows how to use DBOS to add human-in-the-loop to your AI agent. - [Reliable Customer Service Agent](https://docs.dbos.dev/python/examples/customer-service.md): In this example, you'll learn how to build a reliable AI-powered customer service agent with DBOS and LangGraph and serverlessly deploy it to DBOS Cloud. This example demonstrates how DBOS makes it easy to connect your AI agent to your existing production systems, especially when integrating human decision-making into automated processes. - [CI/CD Slackbot](https://docs.dbos.dev/python/examples/deploy-tracker-slackbot.md): In this example, we use DBOS and Bolt to build a CI/CD Slackbot that helps you trigger application deployments and track deployment pipeline progress directly from Slack. It listens to commands such as /deploy and /check_status in a Slack channel and posts status updates back to the channel. - [Document Ingestion Pipeline](https://docs.dbos.dev/python/examples/document-detective.md): In this example, we'll use DBOS to build a reliable and scalable data processing pipeline. - [Hacker News Research Agent](https://docs.dbos.dev/python/examples/hacker-news-agent.md): This example is also available in TypeScript. - [Transactional Outbox](https://docs.dbos.dev/python/examples/outbox.md): A transactional outbox is a common pattern that solves an important problem: how to reliably update a database record and send a message to another system. - [Advanced Queue Patterns](https://docs.dbos.dev/python/examples/queue-patterns.md): This example demonstrates how to build several advanced queue patterns with DBOS. - [Queue Worker](https://docs.dbos.dev/python/examples/queue-worker.md): This example is also available in TypeScript. - [S3 Mirror](https://docs.dbos.dev/python/examples/s3mirror.md): S3Mirror is a DBOS-powered utility for performant, durable and observable data transfers between S3 buckets. This app was created in collaboration with Bristol Myers Squibb for reliable transfers of genomic datasets. Read our joint manuscript, including a performance benchmark, on bioRxiv here. - [Fault-Tolerant Checkout](https://docs.dbos.dev/python/examples/widget-store.md): This example is also available in TypeScript, Java, and Go. - [Add DBOS To Your App](https://docs.dbos.dev/python/integrating-dbos.md): This guide shows you how to add the open-source DBOS Transact library to your existing application to durably execute it and make it resilient to any failure. - [Learn DBOS Python](https://docs.dbos.dev/python/programming-guide.md): This guide shows you how to use DBOS to build Python apps that are resilient to any failure. - [AI-Assisted Development](https://docs.dbos.dev/python/prompting.md): If you're using an AI coding agent to build a DBOS application, make sure it has the latest information on DBOS by either: - [DBOS CLI](https://docs.dbos.dev/python/reference/cli.md): Workflow Management Commands - [DBOS Client](https://docs.dbos.dev/python/reference/client.md): DBOSClient provides a programmatic way to interact with your DBOS application from external code or from another DBOS application. - [Configuration](https://docs.dbos.dev/python/reference/configuration.md): Configuring DBOS - [DBOS Methods & Variables](https://docs.dbos.dev/python/reference/contexts.md): DBOS provides a number of useful context methods and variables. - [Datasources](https://docs.dbos.dev/python/reference/datasources.md): Datasources wrap a SQLAlchemy engine so that database transactions run inside DBOS workflows are tracked and replayed with exactly-once guarantees. See the Transactions & Datasources tutorial for a full walkthrough. - [DBOS Class](https://docs.dbos.dev/python/reference/dbos-class.md): The DBOS class is a singleton—you must instantiate it (by calling its constructor) exactly once in a program's lifetime. - [Workflows & Steps](https://docs.dbos.dev/python/reference/decorators.md): Function Decorators - [Queues](https://docs.dbos.dev/python/reference/queues.md): Queues let you submit functions for durable execution without starting them immediately. - [Workflow Handles](https://docs.dbos.dev/python/reference/workflow_handles.md): API reference for DBOS workflow handles - [Authentication and Authorization](https://docs.dbos.dev/python/tutorials/authentication-authorization.md): Use declarative security and authentication middleware in DBOS - [Working With Python Classes](https://docs.dbos.dev/python/tutorials/classes.md): You can add DBOS decorators to your Python class instance methods. - [DBOS Database Connections](https://docs.dbos.dev/python/tutorials/database-connection.md): DBOS uses a database to durably store workflow and step state. - [Integrating with Kafka](https://docs.dbos.dev/python/tutorials/kafka-integration.md): Overview of using DBOS with Kafka - [Logging & Tracing](https://docs.dbos.dev/python/tutorials/logging-and-tracing.md): Logging - [Queues & Concurrency](https://docs.dbos.dev/python/tutorials/queue-tutorial.md): You can use queues to run many workflows at once with managed concurrency. - [Scheduling Workflows](https://docs.dbos.dev/python/tutorials/scheduled-workflows.md): You can schedule DBOS workflows to run on a cron schedule. - [Steps](https://docs.dbos.dev/python/tutorials/step-tutorial.md): When using DBOS workflows, you should annotate any function that performs complex operations or accesses external APIs or services as a step. - [Testing Your App](https://docs.dbos.dev/python/tutorials/testing.md): Testing DBOS Functions - [Transactions & Datasources](https://docs.dbos.dev/python/tutorials/transaction-tutorial.md): Learn how to perform database operations - [Upgrading Workflow Code](https://docs.dbos.dev/python/tutorials/upgrading-workflows.md): One challenge you may encounter when operating long-running durable workflows in production is how to deploy breaking changes without disrupting in-progress workflows. - [Communicating with Workflows](https://docs.dbos.dev/python/tutorials/workflow-communication.md): DBOS provides a few different ways to communicate with your workflows. - [Workflow Management](https://docs.dbos.dev/python/tutorials/workflow-management.md): You can view and manage your durable workflow executions via the DBOS Console, programmatically, or via command line. - [Workflows](https://docs.dbos.dev/python/tutorials/workflow-tutorial.md): Workflows provide durable execution so you can write programs that are resilient to any failure. - [Get Started with DBOS](https://docs.dbos.dev/quickstart.md): DBOS is a library for building reliable programs. - [Fault-Tolerant Checkout](https://docs.dbos.dev/typescript/examples/checkout-tutorial.md): This example is also available in Python, Java, and Go. - [Hacker News Research Agent](https://docs.dbos.dev/typescript/examples/hacker-news-agent.md): This example is also available in Python. - [Queue Worker](https://docs.dbos.dev/typescript/examples/queue-worker.md): This example is also available in Python. - [Add DBOS To Your App](https://docs.dbos.dev/typescript/integrating-dbos.md): This guide shows you how to add the open-source DBOS Transact library to your existing application to durably execute it and make it resilient to any failure. - [Learn DBOS TypeScript](https://docs.dbos.dev/typescript/programming-guide.md): This guide shows you how to use DBOS to build TypeScript apps that are resilient to any failure. - [AI-Assisted Development](https://docs.dbos.dev/typescript/prompting.md): If you're using an AI coding agent to build a DBOS application, make sure it has the latest information on DBOS by either: - [DBOS CLI](https://docs.dbos.dev/typescript/reference/cli.md): Workflow Management Commands - [DBOS Client](https://docs.dbos.dev/typescript/reference/client.md): DBOSClient provides a programmatic way to interact with your DBOS application from external code. - [Configuration](https://docs.dbos.dev/typescript/reference/configuration.md): Configuring DBOS - [Transactions & Datasources](https://docs.dbos.dev/typescript/reference/datasource.md): Introduction To Transactions And Datasources - [DBOS Lifecycle](https://docs.dbos.dev/typescript/reference/dbos-class.md): The DBOS class is a singleton—it must be configured and launched exactly once in a program's lifetime, before running any DBOS workflows. - [DBOS Methods & Variables](https://docs.dbos.dev/typescript/reference/methods.md): DBOS Methods - [DBOS Plugin Architecture](https://docs.dbos.dev/typescript/reference/plugins.md): Unless you intend to extend the DBOS Transact library, you can ignore this topic. - [Queues](https://docs.dbos.dev/typescript/reference/queues.md): Workflow queues allow you to ensure that workflow functions will be run, without starting them immediately. - [Workflows & Steps](https://docs.dbos.dev/typescript/reference/workflows-steps.md): Workflows - [Kafka & SQS Integration](https://docs.dbos.dev/typescript/tutorials/externalmessages.md): In this guide, you'll learn how to use DBOS workflows to process Kafka or Simple Queue Service (SQS) messages with exactly-once semantics. - [Using Typescript Objects](https://docs.dbos.dev/typescript/tutorials/instantiated-objects.md): You can use class instance methods as workflows and steps. - [Logging & Tracing](https://docs.dbos.dev/typescript/tutorials/logging.md): Logging - [Queues & Concurrency](https://docs.dbos.dev/typescript/tutorials/queue-tutorial.md): You can use queues to run many workflows at once with managed concurrency. - [Scheduling Workflows](https://docs.dbos.dev/typescript/tutorials/scheduled-workflows.md): You can schedule DBOS workflows to run on a cron schedule. - [Steps](https://docs.dbos.dev/typescript/tutorials/step-tutorial.md): Learn how to communicate with external APIs and services - [Testing & Mocking](https://docs.dbos.dev/typescript/tutorials/testing.md): You can test DBOS workflows and steps using any JavaScript or TypeScript testing framework, like Jest or Vitest. - [Transactions & Datasources](https://docs.dbos.dev/typescript/tutorials/transaction-tutorial.md): Learn how to perform database operations - [Upgrading Workflow Code](https://docs.dbos.dev/typescript/tutorials/upgrading-workflows.md): A challenge encountered when operating long-running durable workflows in production is how to deploy breaking changes without disrupting in-progress workflows. - [Communicating with Workflows](https://docs.dbos.dev/typescript/tutorials/workflow-communication.md): DBOS provides a few different ways to communicate with your workflows. - [Workflow Management](https://docs.dbos.dev/typescript/tutorials/workflow-management.md): You can view and manage your durable workflow executions via the DBOS Console, programmatically, or via command line. - [Workflows](https://docs.dbos.dev/typescript/tutorials/workflow-tutorial.md): Workflows provide durable execution so you can write programs that are resilient to any failure. - [Upgrading to TSv3](https://docs.dbos.dev/typescript/upgrading.md): With the release of DBOS Transact TypeScript version 3 (DBOS TSv3), some APIs that were marked as deprecated in v2 have been removed. - [Why DBOS?](https://docs.dbos.dev/why-dbos.md): If you're building AI agents, also check out the AI Quickstart.