Oct 6, 2025

n8n: Create, Update & Get e-goi Subscriber

How to Create, Update, and Get an e-goi Subscriber in n8n Automating subscriber management with n8n and e-goi is fast and reliable. In this tutorial you’ll build a simple workflow that creates a contact, updates the contact’s data, and then retrieves the contact to verify the changes. The pattern is ideal for signups, CRM syncs, […]

How to Create, Update, and Get an e-goi Subscriber in n8n

Automating subscriber management with n8n and e-goi is fast and reliable. In this tutorial you’ll build a simple workflow that creates a contact, updates the contact’s data, and then retrieves the contact to verify the changes. The pattern is ideal for signups, CRM syncs, and list management tasks.

What you’ll build

The workflow uses four nodes:

  1. Manual Trigger (starts the workflow)
  2. e-goi node — Create contact
  3. e-goi node — Update contact
  4. e-goi node — Get contact

This is a linear flow: trigger → create → update → get. The example mirrors the n8n template that passes the list ID and uses the returned contact ID from one node into the next via expressions.

Prerequisites

  • An n8n instance (cloud or self-hosted)
  • An e-goi account and API credentials
  • Basic familiarity with n8n expressions

Step-by-step setup

1. Add a Manual Trigger node

Start with a Manual Trigger (or another trigger of your choice). This enables you to test the workflow interactively.

2. Add the e-goi node to create a contact

Add an e-goi node and configure the operation to create a contact. Example fields used in the template:

list: 1
email: nathan@testmail.com
additionalFields: { first_name: "Nathan" }

Make sure you configure the e-goi credentials in n8n (API key or OAuth depending on your setup). The Create call returns a JSON payload that includes the created contact’s ID — typically available at json.base.contact_id in the node output.

3. Add the e-goi node to update the contact

Add another e-goi node configured for the update operation. Instead of hardcoding the list or contactId, use expressions to read values from the previous node. The template uses these expressions:

list: ={{$node["e-goi"].parameter["list"]}}
contactId: ={{$node["e-goi"].json["base"]["contact_id"]}}
updateFields: { first_name: "Nat" }

Notes:

  • If you need to update multiple fields, populate updateFields accordingly.
  • Use the correct JSON path from the create node output — in this template the create node stores the contact ID at base.contact_id.

4. Add the e-goi node to get the contact

Add a final e-goi node using the get operation to retrieve the contact after update. Use expressions to pass list and contactId from earlier nodes, for example:

list: ={{$node["e-goi"].parameter["list"]}}
contactId: ={{$node["e-goi1"].json["base"]["contact_id"]}}
operation: get

The Get node will return the full contact object. Inspect the output in the execution panel to confirm your updated first name and other fields.

Expressions and data mapping explained

Expressions make your workflow dynamic. The template demonstrates two common patterns:

  • Reading a configured parameter from a previous node: {{$node["e-goi"].parameter["list"]}}
  • Reading a returned value from the node JSON output: {{$node["e-goi"].json["base"]["contact_id"]}}

Use the expression editor in n8n to test and validate the paths. If a value is missing, run the create node separately first and inspect its raw output in the execution log to find the correct path.

Testing and verifying

  1. Click Execute on the Manual Trigger to run the workflow.
  2. Open each node’s execution output: confirm the create node returns a contact_id.
  3. Confirm the update node response indicates success (or contains the updated object).
  4. Check the get node output to verify the updated data (first name updated to “Nat”).

Troubleshooting & common pitfalls

Missing contact_id

If the create node output doesn’t include contact_id, inspect the returned JSON path. The node may return the ID under a different key (check json and json.base), or an error occurred during creation.

Invalid list ID

Ensure the list ID exists in e-goi and your API user has access to it. Use numeric IDs or the exact identifier required by the API.

API rate limits or network errors

Handle transient API errors by adding a Retry or Error Workflow, or use a Wait node between calls if you suspect propagation delays.

Duplicate contacts

Decide on your duplicate strategy: check for existing contact (search endpoint) before create, or rely on e-goi’s deduplication rules. You can add a conditional (IF) node to branch the workflow if a contact already exists.

Enhancements & best practices

  • Use a Set node to centralize and validate data before creating the contact (email format, required fields).
  • Add an IF node to check the create response and only run update/get if creation succeeded.
  • Store list IDs and API credentials in n8n credentials or environment variables to avoid hardcoding.
  • Log responses or push them to a database for auditability.
  • Respect GDPR: capture and store consent fields and opt-in timestamps.

Template JSON (concept)

The template behind this workflow wires nodes together so outputs flow from create → update → get. Here is a conceptual view (simplified):

{
  "nodes": [
    { "type": "Manual Trigger" },
    { "type": "e-goi", "operation": "create", "parameters": { "email": "nathan@testmail.com", "list": 1 } },
    { "type": "e-goi", "operation": "update", "parameters": { "contactId": "={{$node[\"e-goi\"].json.base.contact_id}}" } },
    { "type": "e-goi", "operation": "get", "parameters": { "contactId": "={{$node[\"e-goi1\"].json.base.contact_id}}" } }
  ]
}

Security and compliance

Keep API keys secure in n8n credentials. If you’re storing contact data, encrypt or securely store PII and ensure your workflow respects local data protection regulations.

Wrap-up

This simple pattern — create, update, get — scales to many use cases: onboarding emails, CRM enrichment, and list hygiene. With n8n expressions and e-goi nodes, you can automate reliable subscriber handling without custom code.

Try it now

Import the workflow template into your n8n instance, connect your e-goi credentials, and click Execute on the Manual Trigger. Inspect each node result in the execution log to confirm the flow. If you want a customized version (search/conditional flows, upsert behavior, or integrations with other systems), reply with your use case and I’ll help adapt the workflow.

Want more tutorials like this? Subscribe to our newsletter or check the n8n and e-goi docs for advanced operations and API details.

Leave a Reply

Your email address will not be published. Required fields are marked *