# POST /lead-gen/initiatives/:initiative_id/steps

**Resource:** [Lead Gen Initiatives](./lead-gen-initiatives.md)  
**MCP tool:** `lead_gen_add_initiative_step`  
**Scopes:** `lead-gen:write`  
**Write operation:** yes

Add a step to an initiative. Quick mode: pass action_type + action_config + delay. Bring-your-own mode: pass automation_id.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `initiative_id` | path | string | yes |  |
| `action_type` | body | string | no | send_gmail_email \| send_sms \| notify_assigned_staff |
| `action_config` | body | object | no | Config matching the chosen action type (subject/body/etc.) |
| `automation_id` | body | string | no | Alternative to action_type+config — reuse an existing automation |
| `delay_days` | body | number | no |  |
| `delay_hours` | body | number | no |  |
| `delay_minutes` | body | number | no |  |
| `name` | body | string | no |  |
| `require_approval` | body | boolean | no | Optional. Set true to route this write into the approval queue for human review instead of executing it immediately (returns 202 + an approval_id). Works even when your key/token has permission to execute directly. |

## Request example

```bash
curl -X POST   "https://api.trustpager.com/functions/v1/api/v1/lead-gen/initiatives/:initiative_id/steps"   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"action_type":"...","action_config":"...","automation_id":"..."}'
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`