# Best Practices

When designing workflows in Laminar, following these best practices will help you create solutions that are maintainable, secure, and performant as your integrations grow.

## Keep Workflows Focused

* Design each workflow to accomplish a single, well-defined purpose
* Break complex processes into multiple linked workflows instead of creating monolithic configurations
* Use [asynchronous workflow triggering](https://docs.laminar.run/building-an-integration/advanced/workflows/invoke-secondary-workflows) for independent sub-processes

## Implement Proper Error Handling

* Add validation steps at the beginning of workflows
* Add [exit points](https://docs.laminar.run/building-an-integration/advanced/workflows/workflow-exit-points) with descriptive messages for expected failure scenarios or inputs that don't meet requirements
* Design workflows to be idempotent whenever possible

## Credential Management

* Never hardcode credentials in workflow step programs
* Use [Laminar's configuration management system](https://docs.laminar.run/building-an-integration/advanced/configurations) for all sensitive information
* Rotate credentials regularly via configuration updates
