diff --git a/getting-started/deployment/local.mdx b/getting-started/deployment/local.mdx
index 5ea6674..58574bc 100644
--- a/getting-started/deployment/local.mdx
+++ b/getting-started/deployment/local.mdx
@@ -154,6 +154,20 @@ OPS_SMTP_ALLOWED_PORTS=25,465,587,2525
+## Configuring the webhook sync timeout (nginx)
+
+OpenOps configures nginx with a separate timeout for webhook calls that run in sync mode.
+
+To set this timeout, add the `OPS_FLOW_TIMEOUT_SECONDS` environment variable to the `.env` file in your installation folder.
+
+```shell
+OPS_FLOW_TIMEOUT_SECONDS=600
+```
+
+This value is also used to set `NGINX_WEBHOOK_SYNC_TIMEOUT` inside the container.
+
+> If `OPS_FLOW_TIMEOUT_SECONDS` is not set, `NGINX_WEBHOOK_SYNC_TIMEOUT` defaults to `600s`.
+
## Using Azure CLI in workflows: running with local credentials
It is possible to share your local session with the platform for local applications.
diff --git a/workflow-management/human-in-the-loop.mdx b/workflow-management/human-in-the-loop.mdx
index ecdfb00..424b2ab 100644
--- a/workflow-management/human-in-the-loop.mdx
+++ b/workflow-management/human-in-the-loop.mdx
@@ -65,6 +65,16 @@ In this case, you can create the approval part of your workflow as follows:
3. Add the **Wait For Approval** action from the **Approval** block. Once the stakeholder clicks a link, this action updates the approval status accordingly.
4. Add the **Condition** action to define steps for approval and disapproval.
+> **Note**
+> The **Create Approval Links** action generates links using the instance public URL. The link opens a resume page in the OpenOps UI, which then resumes the workflow with either the approve or disapprove action.
+
+#### Adding attachments (Microsoft Outlook)
+
+When using **Microsoft Outlook** **Send Email**, add attachments as a list where each item includes:
+
+* **File** (required)
+* **File Name** (optional). If omitted, the file name from the uploaded file is used.
+
Here's a sample workflow that uses **Create Approval Links**, delivers an email notification using **Send Email** from the **SMTP** block, and then proceeds based on the output of the **Wait For Approval** action:

diff --git a/workflow-management/webhook-responses.mdx b/workflow-management/webhook-responses.mdx
index fb9c0e2..1a81121 100644
--- a/workflow-management/webhook-responses.mdx
+++ b/workflow-management/webhook-responses.mdx
@@ -91,6 +91,17 @@ If your workflow doesn't include a **Send Webhook Response** action, OpenOps aut
- **Include error handling**: Use conditional branching to send different responses based on workflow outcomes
- **Keep responses lightweight**: Avoid sending large payloads in webhook responses
+## Troubleshooting
+
+### Webhook callers time out when waiting for a synchronous response
+
+If the webhook caller waits for a response from the workflow and the request times out at the reverse proxy, increase the Nginx timeouts for the webhook sync endpoint.
+
+1. Set the `NGINX_WEBHOOK_SYNC_TIMEOUT` environment variable.
+2. Deploy/restart the Nginx container so it picks up the new value.
+
+OpenOps applies `NGINX_WEBHOOK_SYNC_TIMEOUT` to the Nginx timeouts for requests that match the `/api/v1/webhooks//sync` path.
+
## Limitations
- Only one response can be sent per webhook trigger