Skip to main content
All Integrations
Self-Hosted Automation

Automate Review Requests with n8n

Add an HTTP Request node to any n8n workflow and post customer details to your EmbedMyReviews endpoint. EmbedMyReviews maps the fields, times the request around the appointment or order date, and sends it by SMS or email through your own providers.

Works on n8n Cloud and on your own server. There is no EmbedMyReviews node to install and no API key to manage. Data goes from your instance to your own white-label domain.

n8n WorkflowActive
Webhook: Job Completed
HTTP Request (POST)youragency.com/api/webhooks/inbound/…
Review request scheduled

Sends the next morning at 9:00. "Hi Alex, thanks for choosing us. Would you share your experience? It takes about 30 seconds."

How It Works

Four steps in the setup wizard. n8n sends the data, EmbedMyReviews handles the mapping, the timing and the send.

1

Name the connection

In EmbedMyReviews, give the connection a name and choose the review campaign it feeds. You get an endpoint URL on your own domain.

2

Add the HTTP Request node

After your trigger, add an HTTP Request node. Method POST, Body Content Type JSON. Paste the endpoint URL and execute the node to send a test.

3

Map the fields

EmbedMyReviews captures the test payload. Point first name, last name or full name, email and phone at the right keys, plus an optional appointment or order date.

4

Choose when to send

Straight away, a set delay of up to 7 days timed from the appointment or order date, or the next morning at a chosen time. Then activate.

What triggers a request, and what never does

The trigger is whatever your workflow sends. EmbedMyReviews has no event names of its own, so an IF or Switch node in n8n decides who reaches the endpoint.

Every request that arrives with an email or phone number schedules a review request
Requests with no email and no phone are logged and skipped
Contacts who have unsubscribed are never sent
The campaign's duplicate window is respected, so a repeat customer is not asked again inside it
With an appointment or order date mapped, the delay runs from that moment. A submission without one falls back to arrival time
Alex M. · completed_at mappedRequest scheduled
Unknown · no email or phoneSkipped
Dana K. · unsubscribedSkipped
Sam O. · next morning 9:00Request sent

Why Agencies Choose n8n

Self-hosted automation with no execution limits, full data privacy, and complete customization control.

Self-Hosted

Run n8n on your own servers. The only outbound call this integration needs is a POST from your instance to your own domain.

Unlimited Executions

No per-execution fees on a self-hosted instance. Run thousands of workflows daily without worrying about automation costs.

Open Source

Fair-code licensed and community-driven. Extend n8n with custom nodes, contribute to the project, or fork for your needs.

Data Privacy

Customer data stays on your servers until the moment you post it. No third-party automation platform sits between your systems and your domain.

Code When Needed

Write custom JavaScript or Python code within workflows. Transform data, add complex logic, or shape the payload before it is posted.

Database Integration

Connect directly to PostgreSQL, MySQL, MongoDB, and more. Query completed jobs and post each row to the endpoint.

Example n8n Workflows

Common patterns for automating review requests with n8n and EmbedMyReviews. Every one ends with the same HTTP Request node.

Webhook → EmbedMyReviews endpoint

Receive webhooks from any system, shape the payload, and post it to your endpoint.

Webhook Trigger
    ↓
Set Node (format data)
    ↓
HTTP Request
  POST https://youragency.com/api/webhooks/inbound/{token}
  Body Content Type: JSON
  Body: { first_name, last_name, email, phone, completed_at }
    ↓
IF (2xx response)
  → Slack notification
  → Log to Google Sheets

Database Polling

Poll your database for completed jobs and post each row to the endpoint.

Schedule Trigger (every 5 min)
    ↓
PostgreSQL
  SELECT * FROM jobs
  WHERE status = 'completed'
  AND review_sent = false
    ↓
Loop Over Items
    ↓
HTTP Request
  POST https://youragency.com/api/webhooks/inbound/{token}
  Body: { name, email, phone, completed_at }
    ↓
PostgreSQL
  UPDATE jobs SET review_sent = true

Multi-Client Routing

Each connection in EmbedMyReviews is tied to one campaign, so route by service type to a different endpoint URL.

Webhook Trigger
    ↓
Switch Node (service_type)
  → "plumbing"   → HTTP Request (endpoint A)
  → "electrical" → HTTP Request (endpoint B)
  → "hvac"       → HTTP Request (endpoint C)

Each endpoint is its own connection,
tied to its own campaign.

Delayed Follow-up

No Wait node needed. Map the job's completion time as the appointment or order date and EmbedMyReviews holds the request until your chosen delay has passed. Reminders come from the campaign itself.

Webhook Trigger (job completed)
    ↓
HTTP Request
  POST https://youragency.com/api/webhooks/inbound/{token}
  Body: { name, email, phone, completed_at }

Timing lives in EmbedMyReviews:
  completed_at + 24 hours, or next morning
  (workflow finishes as soon as it posts)

n8n Deployment Options

Choose how you want to run n8n based on your technical requirements and preferences. The HTTP Request node works the same on all of them.

n8n Cloud

Managed hosting by n8n. Quick setup, automatic updates, and no server management required.

  • Zero maintenance
  • Start immediately
  • SOC 2 compliant

Docker / VPS

Self-host on any server with Docker. Full control over your data and unlimited executions.

  • Complete data control
  • Unlimited workflows
  • Starts at $5/mo VPS

Enterprise

On-premise deployment with SSO, LDAP, and advanced security features for larger organizations.

  • SSO / LDAP support
  • Priority support
  • Air-gapped deployments (outbound HTTPS to your domain still required)

What you need before connecting

The connection is a URL that n8n posts to. Nothing is installed on either side, and the wizard checks each step before anything goes live.

  • An n8n instance, Cloud or self-hosted. The HTTP Request node is a core node, and the instance needs outbound HTTPS to your domain.
  • A configured domain on your EmbedMyReviews account. The endpoint URL is built from it, so it lives on your own white-label domain.
  • A review campaign with SMS or email configured through your own provider.

Optional signing secret

Turn on a signing secret and every request has to carry an HMAC-SHA256 signature that EmbedMyReviews verifies before the payload is accepted. A Crypto node in n8n can produce the signature from the request body.

Rotate the token any time

Regenerating the token gives you a new URL and the old one stops working immediately. Update the HTTP Request node and the workflow carries on.

BYOK

Your providers. Wholesale rates.

Self-host n8n. Self-host your data. EmbedMyReviews sends the review request through your own Twilio (SMS) or SMTP (email) accounts, so you pay wholesale rates directly to your providers, with no EmbedMyReviews markup on messaging.

Your n8n instance
Your Twilio
Your SMTP

Common questions

Is there an EmbedMyReviews node for n8n?

No. You use n8n's built-in HTTP Request node to POST customer details to the endpoint URL that EmbedMyReviews gives you. There is nothing to install in n8n and no API key to paste. The URL carries its own token.

Does it work on self-hosted n8n?

Yes. Any n8n instance works, whether that is n8n Cloud, a Docker container on a VPS, or an on-premise deployment. The only requirement is that the instance can make an outbound HTTPS request to your domain.

What fields do I need to send?

An email address or a phone number is required, and both can be sent. Add a first name and last name, or a single full name that EmbedMyReviews splits for you. The keys in your JSON can be named anything; you map them in EmbedMyReviews from the captured test payload, including nested values with dot notation. You can also send an appointment or order date to anchor the timing.

Can I time the request around the appointment or order date?

Yes, and it replaces the Wait node. Map a date field from the payload as the appointment or order date and the delay is measured from that moment rather than from when the request arrived. Choose straight away, a set delay from 15 minutes up to 7 days, or the next morning at a chosen time. If a submission arrives without the date, EmbedMyReviews uses the arrival time instead.

Can I secure the endpoint?

The URL contains a random token, and you can regenerate it at any time, which stops the old URL immediately. For an extra check, turn on a signing secret and EmbedMyReviews verifies an HMAC-SHA256 signature on every request before accepting the payload. A Crypto node in n8n can produce the signature.

Does the client see EmbedMyReviews branding?

No. The endpoint URL is built from the domain configured on your account, so it reads as youragency.com rather than EmbedMyReviews, and the review requests themselves go out through the client's own SMS and email providers.

Self-hosted automation meets white-label reviews.

Included in the flat $99/month plan for unlimited clients and connections. No per-connection fees.

No credit card required. Explore the platform for 14 days.