Why this matters
n8n's HTTP Request node speaks the ReachOut API directly. Self-hosted teams keep the data path inside their infrastructure; cloud teams get instant integration. Either way, every call is authenticated by an API key granted on the project it writes to.
What you get
- No custom n8n node required — the HTTP Request node is enough.
- Self-hosted-friendly: keeps the integration path in your VPC.
- Search by email before creating, so repeated runs update the same contact.
- Schedule nodes can read campaigns and analytics from the API on your cadence.
Setup in 4 steps
- Create a ReachOut API key.Studio → Organization settings → API keys → Generate API key, then grant it the editor role on your project.
- Add an HTTP Request node.Method: POST. URL: https://api.usereachout.com/api/projects/YOUR_PROJECT_ID/contacts (list project IDs with GET /api/projects). Authentication: Header Auth → Authorization: Bearer YOUR_API_KEY.
- Map inputs.Use n8n expressions to pipe fields from previous nodes into the request body. Custom fields go under "customFields" and must exist in Studio → Contacts → Schema first.
- Update instead of duplicating.Optional: before creating, POST /api/projects/YOUR_PROJECT_ID/contacts/search to find the contact by email, then PATCH /api/projects/YOUR_PROJECT_ID/contacts/:contactId when it already exists.