Docsn8n Guide
Self-Hosted & Cloud Workflow Guide

Automate Client Provisioning with n8n

Designed for self-hosted agencies, engineering teams, and privacy-first automation workflows. Configure the native n8n HTTP Request node to provision client reputation portals, generate live 4+ star review funnels, and dispatch complimentary countertop smart NFC stands automatically.

n8n Workflow Execution Pipeline

How an incoming event triggers instant account and hardware fulfillment inside your n8n workflow:

Node 1: Trigger
Webhook or DB Trigger

PostgreSQL event, Stripe webhook, or Form submission.

Node 2: HTTP Node
Aevloc Request

POST request with Header Auth and destination parameters.

Node 3: Core API
Cloud Provisioning

Atomic sub-account partition & stand fulfillment queued.

Node 4: Dispatch
Alerts & Sync

Sends client email and records funnel URL in database.

Prerequisites

An active Aevloc Agency Pro or Scale subscription (includes 100 client sub-accounts).
An Agency Bearer API Key (aev_live_...) from your API & Webhooks dashboard.
An n8n instance (running via Docker, self-hosted Kubernetes, or n8n Cloud).
1

Create n8n Header Auth Credential

In n8n, navigate to Credentials → New Credential and choose Header Auth:

NameAevloc Agency API
Header NameAuthorization
ValueBearer aev_live_your_actual_key

Storing the API key in n8n credentials ensures your tokens are encrypted at rest in your n8n database and easily reusable across multiple agency workflows.

2

Add the HTTP Request Node

In your n8n canvas, insert an HTTP Request node and configure the parameter settings:

Method
POST
URL
https://aevloc.com/api/v1/agency/subaccounts
Authentication
Generic Credential Type → Header Auth (Select credential from Step 1)
Send Body
true
Body Content Type
JSON
Specify Body
JSON (Expression Mode)
3

Map Dynamic n8n Expressions

Switch the JSON Body input to Expression mode and paste the mapping template below:

n8n HTTP Request JSON Expression
{
  "name": "={{ $json.company_name }}",
  "adminEmail": "={{ $json.contact_email }}",
  "shippingName": "={{ $json.company_name }} (Attn: Manager)",
  "shippingAddress": "={{ $json.street_address }}",
  "shippingCity": "={{ $json.city }}",
  "shippingState": "={{ $json.state }}",
  "shippingZip": "={{ $json.postal_code }}"
}
n8n Parameter Mapping
JSON KeyRequiredn8n Node Expression Example
nameYes=$json.company_name
adminEmailYes=$json.contact_email
shippingNameYes="{{ $json.company_name }} (Attn: Manager)"
shippingAddressYes=$json.street_address
shippingCityYes=$json.city
shippingStateYes=$json.state
shippingZipYes=$json.postal_code

Copy-Paste n8n Canvas Node

n8n Clipboard Import

You can copy the raw node JSON below and paste it directly onto your n8n workflow canvas (Ctrl+V / Cmd+V):

n8n Canvas Node JSON
{
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://aevloc.com/api/v1/agency/subaccounts",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "={\n  \"name\": \"{{ $json.company_name }}\",\n  \"adminEmail\": \"{{ $json.contact_email }}\",\n  \"shippingName\": \"{{ $json.company_name }} (Attn: Manager)\",\n  \"shippingAddress\": \"{{ $json.street_address }}\",\n  \"shippingCity\": \"{{ $json.city }}\",\n  \"shippingState\": \"{{ $json.state }}\",\n  \"shippingZip\": \"{{ $json.postal_code }}\"\n}"
      },
      "name": "Aevloc Provision Sub-Account",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [460, 240]
    }
  ]
}
4

Execute Node & Inspect Output

Click Execute Node in n8n. The engine performs the request and outputs the response:

n8n Output JSON (HTTP 201 Created)
{
  "success": true,
  "data": {
    "organizationId": "0191f6a2-8b4e-7210-9831-e6e8c1a892b1",
    "name": "Starlight Dental",
    "slug": "starlight-dental",
    "funnelUrl": "https://aevloc.com/review?org=0191f6a2-8b4e-7210-9831-e6e8c1a892b1",
    "hardwareOrder": {
      "id": "0191f6a2-8b51-789a-bc32-11449900aabb",
      "type": "initial",
      "status": "pending",
      "recipient": "Starlight Dental (Attn: Manager)"
    }
  }
}
Immediate Downstream Access:

Subsequent nodes in your workflow can reference the live review funnel using $('Aevloc Provision Sub-Account').item.json.data.funnelUrl.

5

Attach Downstream Notification & Database Nodes

In n8n, connect the output pin to your notification and reporting infrastructure:

Slack / Discord / Telegram Node

Post an internal team notification: "New client onboarded: [Name]. Review funnel is live at [funnelUrl]. Countertop stand queued for dispatch."

PostgreSQL / MySQL Update Node

Persist the generated organizationId and funnelUrl into your agency internal CRM database.

n8n Troubleshooting & Tips

401 Unauthorized:

Verify your n8n Header Auth credential has Header Name set to Authorization and Value set to Bearer aev_live_... (including the Bearer prefix).

422 Validation Error:

Ensure that your trigger node output contains non-null values for all 5 delivery fields (shippingName, shippingAddress, shippingCity, shippingState, shippingZip).

Self-Hosted Docker Outbound Traffic:

Ensure your Docker container or VM hosting n8n allows outbound HTTPS requests to https://aevloc.com on port 443.