Configurations

Learn about Configurations in Laminar

Overview

Configurations in Laminar manage environment-specific settings, credentials, and properties for workflows. They enable you to run the same workflow with different settings across environments or customers.

A configuration is defined as a set of key-value pairs

Example of a configuration in Laminar

Usage in Flows

You can reference a configuration variable by using the syntax {{props.<configuration_property_key>}}

(data) => {
  let transformed_data = data.step_1.response
  
  return {
    "lam.httpRequest": {
      "method": "POST",
      "url": "{{props.WAREHOUSE_API_URL}}/warehouse/orders",
      "headers": {
        "Content-Type": "application/json"
      },
      "body": transformed_data
    }
  };
}

Executing with Different Configurations

The same workflow can be executed with different configurations by specifying the configuration_id:

# Execute workflow for Customer A
POST /workflow/execute/{workflowId}?configuration_id=123&api_key=<api_key>
{
  "orderId": "12345",
  "quantity": 2
}

# Execute workflow for Customer B
POST /workflow/execute/{workflowId}?configuration_id=456&api_key=<api_key>
{
  "orderId": "67890",
  "quantity": 1
}

The workflow will use the appropriate credentials and properties based on the configuration_id provided.

Best Practices

Security

  • Store sensitive data like credentials in the configuration store

  • Rotate credentials regularly

  • Use different configurations per environment/customer

Organization

  • Use meaningful property names

  • Keep configurations focused and organized

  • Document configuration requirements

Last updated

Was this helpful?