Create, Update & Get an e-goi Subscriber in n8n
If you spend a lot of time managing email subscribers, you know how quickly it can turn into a repetitive chore. Add a contact here, tweak a field there, double-check that everything synced correctly… it adds up.
That is exactly where this n8n workflow with the e-goi node comes in. In a single, simple flow you can create a contact, update it, then pull the record back to confirm everything worked – no manual clicking around in dashboards.
Let’s walk through what the template does, when you might want to use it, and how to set it up step by step, as if we were sitting together and wiring it up on your screen.
What this n8n + e-goi workflow actually does
This template is a straightforward three-step subscriber automation pattern in n8n using e-goi. In one run, it will:
- Create a new subscriber in a specific e-goi list.
- Update that subscriber’s details, like their first name.
- Fetch the updated subscriber from e-goi to confirm the changes.
All of that is handled by a short linear workflow built from four nodes:
- Manual Trigger – to start the workflow manually while you test.
- e-goi (create contact) – to add the subscriber to a list.
- e-goi (update contact) – to change any fields you like.
- e-goi (get contact) – to retrieve and verify the final contact data.
It is a small flow, but it shows you the full lifecycle of working with an e-goi subscriber inside n8n.
Why combine n8n with e-goi?
If you are already using e-goi for email marketing and automation, you probably want your subscribers to stay in sync with the rest of your tools. That is where n8n really shines.
n8n is a workflow automation platform that lets you connect APIs and apps without writing all the boilerplate code yourself. You drag nodes onto a canvas, set some parameters, and let it do the heavy lifting.
e-goi is your marketing hub for managing subscribers, lists, and campaigns. It handles email delivery and automation, but the data often needs to come from somewhere else: forms, CRMs, payment tools, or custom apps.
By using the e-goi node inside n8n you can:
- Build automated subscription flows that run in real time.
- Update subscriber profiles whenever something changes in another system.
- Keep everything consistent across your tech stack without manual exports and imports.
In short, n8n becomes the glue, and e-goi stays your email brain.
When is this template useful?
This simple pattern – create, update, then get – pops up in a lot of real-world workflows. You might use it when you want to:
- Import new leads, then enrich them later when more data comes in.
- Sync subscriber updates from a CRM and confirm that the changes actually landed in e-goi.
- Build a signup flow where you first store a minimal contact, then add more fields after verification or onboarding.
Think of this template as a starting point. You can drop it into bigger automations and plug it into forms, webhooks, or other apps.
What you need before you start
Before you hit “Execute”, make sure you have a couple of basics ready:
- An n8n instance (cloud or self-hosted).
- An e-goi account with API access and credentials.
- A target e-goi list where your subscribers will be stored.
Once those are in place, you are ready to wire everything up.
Step-by-step: building the workflow in n8n
Let us walk through the setup from scratch. You can build this visually in the editor or import the JSON later if you prefer.
1. Add and configure your e-goi credentials
First, tell n8n how to talk to e-goi:
- In n8n, go to Credentials.
- Click New and choose e-goi.
- Paste in your e-goi API key and any other required settings.
Once this is saved, any e-goi node in this workflow can authenticate securely with the e-goi API using that credential.
2. Drop in the Manual Trigger node
Next, add a Manual Trigger node to the canvas. This node is purely for testing and development. It lets you run the workflow on demand by clicking Execute in the editor.
Later, you can replace or supplement it with other triggers, like Webhook, Schedule, or anything else that makes sense for your use case.
3. Add the first e-goi node to create the contact
Now we create the subscriber in e-goi.
- Add a new e-goi node and connect it after the Manual Trigger.
- Set the operation to create (create contact).
- Select your e-goi credentials.
- Enter the list ID and the basic subscriber details.
For example, your parameters might look like this:
{ "list": 1, "email": "nathan@testmail.com", "additionalFields": { "first_name": "Nathan" }
}
In the visual editor, that translates to something like:
list: 1
email: nathan@testmail.com
additionalFields.first_name: Nathan
When this node runs successfully, e-goi returns a response that includes a contact_id. That ID is important, because we will use it in the next nodes to update and fetch the same contact.
4. Add the second e-goi node to update the contact
Now let us change something about that contact, like the first name.
- Add another e-goi node and connect it after the first one.
- Set the operation to update.
Instead of hardcoding the list and contact ID, use expressions to reference the output of the previous node. This keeps the workflow dynamic and reusable.
In the expression editor, you could use:
list: ={{$node["e-goi"].parameter["list"]}}
contactId: ={{$node["e-goi"].json["base"]["contact_id"]}}
Then set any fields you want to update. For example, changing the first name:
updateFields.first_name: Nat
When this node executes, it sends an update request to e-goi using the same contact ID that was returned from the create step.
5. Add the third e-goi node to get the contact
To confirm everything worked as expected, the last node fetches the subscriber again using the get operation.
- Add a third e-goi node and connect it after the update node.
- Set the operation to get.
Again, reference the list and contact ID dynamically. This time, you will point to the output of the update node:
list: ={{$node["e-goi"].parameter["list"]}}
contactId: ={{$node["e-goi1"].json["base"]["contact_id"]}}
When you run the full workflow, this final node should return the updated contact, letting you visually confirm that the first name or any other fields were changed correctly.
Sample n8n workflow JSON
If you like working directly with JSON or want to import a starting point into n8n, the workflow structure will look roughly like this. Keep in mind that a real export from n8n will also include node IDs, positions on the canvas, and some additional metadata.
{ "nodes": [ { "name": "On clicking 'execute'", "type": "n8n-nodes-base.manualTrigger" }, { "name": "e-goi", "type": "n8n-nodes-base.egoi", "parameters": { "list": 1, "email": "nathan@testmail.com", "additionalFields": { "first_name": "Nathan" } } }, { "name": "e-goi1", "type": "n8n-nodes-base.egoi", "parameters": { "list": "={{$node[\"e-goi\"].parameter[\"list\"]}}", "contactId": "={{$node[\"e-goi\"].json[\"base\"][\"contact_id\"]}}", "operation": "update", "updateFields": { "first_name": "Nat" } } }, { "name": "e-goi2", "type": "n8n-nodes-base.egoi", "parameters": { "list": "={{$node[\"e-goi\"].parameter[\"list\"]}}", "contactId": "={{$node[\"e-goi1\"].json[\"base\"][\"contact_id\"]}}", "operation": "get" } } ]
}
You can import this into n8n, attach your own credentials, tweak the parameters, and you are good to go.
Best practices for subscriber automation with e-goi in n8n
Once you have the basic workflow running, a few small habits will save you from headaches later.
- Double-check your list ID
Make sure the list ID you use actually exists in e-goi. You can confirm it in the e-goi UI or via their API before you run the workflow at scale. - Clean up input data
Validate and sanitize email addresses and required fields. This reduces the chance of API errors and keeps your lists clean. - Use expressions everywhere you can
The n8n expression editor is your friend. Reference values from previous nodes to keep the workflow flexible, instead of hardcoding IDs or emails. - Handle errors gracefully
Add Function or IF nodes after each e-goi call to catch and handle API errors or unexpected responses, instead of letting the workflow fail silently. - Respect rate limits
If you are processing a lot of contacts, be mindful of e-goi API rate limits. Use a Delay node or batch requests to avoid throttling.
Troubleshooting: what if something breaks?
Common issues you might see
- Authentication errors
Check that your API key is correct, active, and has the necessary permissions. - Invalid list ID
If e-goi complains about the list, confirm that the ID exists and that your account has access to it. - Missing
contact_id
If the update or get step fails, make sure you are reading the right JSON path from the create node, for examplebase.contact_id.
Debugging tips inside n8n
- Run the workflow node by node and inspect each node’s output in the n8n editor.
- Use a temporary Function node as a logger to print out any values you are referencing with expressions.
- Look closely at the e-goi API responses. Error messages and codes usually point directly to what went wrong.
Security, privacy, and compliance
Since you are working with subscriber data, it is worth keeping privacy and compliance in mind while you build automations.
- Store API keys securely using n8n Credentials, not in plain text fields or code.
- Avoid logging personal data in places that might be publicly accessible or shared.
- Make sure your flows align with regulations like GDPR, CAN-SPAM, and any local privacy laws that apply to your audience.
Where to go from here
With just a handful of nodes, you now have an end-to-end subscriber flow in n8n that can create, update, and verify e-goi contacts automatically. No more manual copy-paste, fewer mistakes, and a lot more time to focus on the fun parts of marketing and development.
Try the template yourself
Ready to play with it?
- Import the sample workflow into your n8n instance, or recreate it using the steps above.
- Add your e-goi credentials and set the correct list ID.
- Click Execute on the Manual Trigger and watch the contact flow through all three e-goi nodes.
If you would like a downloadable workflow file or want help tailoring this pattern to your own stack, feel free to reach out or drop a comment. This template is a great base you can extend with webhooks, CRMs, signup forms, and more.
