
Azure Logic App Tricks - Part 2
October 23, 2025
azurelogic-appsintegrationAzure Logic App Tricks - Part 2
If you haven't read Part 1 yet, start here: Azure Logic App Tricks - Part 1.
This continues Part 1 with short, practical tips I use in production to make Logic Apps more robust and maintainable.
5. Create dynamic arrays (use Select, avoid loops)
Use the Select action to map and build arrays. It's usually clearer and avoids concurrency pitfalls compared to complex nested loops.
- Use Select to transform each item shape.
 - Combine with Filter Array for conditional mapping.
 - Prefer Select over For Each when a simple mapping suffices.
 
6. Make Logic Apps production-ready
If you expect higher run volumes:
- Enable high-throughput settings or use Standard/Integration Service Environment.
 - Monitor run rate and throttling via Logic Apps metrics.
 - Tune retry/backoff policies for downstream systems.
 
7. Copy Logic Apps across tenants
For cross-tenant moves, export the workflow definition and re-create connections in the target tenant:
- Open Code View and copy the workflow JSON.
 - Create a new Logic App in the target tenant and paste the definition.
 - Recreate or update connection references and secrets (Key Vault is useful).
 
8. Use a custom connector for repeated HTTP integrations
Define an OpenAPI (custom connector) for repeated HTTP calls. Benefits:
- Typed inputs/outputs in the designer
 - Centralized auth configuration
 - Better discoverability and reusability
 
Example OpenAPI fragment (trimmed):
openapi: 3.0.1
info:
  title: user management service
  version: 1.0.1
servers:
  - url: https://api.example.com
paths:
  /users:
    post:
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user_id: { type: string }
                email: { type: string }
                phone_number: { type: string }
                is_active: { type: boolean }
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  user_id: { type: string }
                  created_at: { type: string }
9. Handling HTTP timeouts (make errors diagnosable)
Logic Apps HTTP actions time out by default (typically ~2 minutes). A timed-out action may yield empty outputs, making diagnosis hard. Surface clearer messages with an expression.
Wrap the code block so it scrolls nicely:
@{if(equals(body('HTTP'), null), 'Timeout occurred', body('HTTP')?['error'])}
Notes:
- Adjust the expression to match your action names.
 - Consider extending the HTTP timeout or using a polling pattern for long-running operations.
 
10. Power Automate & code view
Power Automate and Logic Apps share concepts. To edit code view in Power Automate at runtime, install the relevant extension. This helps when migrating patterns between Power Automate and Logic Apps.
Quick notes and style
- Prefer Select over loops for array transforms where possible.
 - Keep trigger concurrency conservative if downstream systems cannot handle parallel requests.
 - Centralize auth with custom connectors or Key Vault references.
 - Add meaningful timeout/error messages to help runbook operators.
 
Read Part 1 here: Azure Logic App Tricks - Part 1
Keep Learning, Keep growing