Reference · Tools

E-goi

Manage contacts in E-goi marketing automation lists

Action Communication v1

The E-goi node connects BusyBot to your E-goi marketing lists so you can create, update, retrieve, and audit contacts without leaving your workflow. Use it to sync CRM signups directly into an E-goi list, attach tags based on behaviour, or pull a full subscriber export for reporting. Custom extra fields and tag assignment are both supported out of the box.

Node type
Action
Parameters
15
Outputs
Output, Error
Credentials
E-goi API

E-goi

Manage contacts in E-goi marketing lists.

Overview

E-goi is a marketing automation platform providing email, SMS, push, and voice campaigns. This tool manages contacts (subscribers) in E-goi lists, supporting create, get, get many, and update operations. It handles custom extra fields, tag attachment, and contact data simplification.

Category: Communication
Tool Name: egoi
Version: 1

Appearance: Icon: lucide-Mail | Color: #00AFEB

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires E-goi API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Contactcontact

Operations

OperationValueDescription
CreatecreateCreate a contact
GetgetGet a contact
Get ManygetAllGet many contacts
UpdateupdateUpdate a contact

Parameters

Contact: Create

ParameterTypeRequiredDefaultDescription
List IDstringYesID of the E-goi mailing list. Find in E-goi dashboard under Lists. Supports expressions.
EmailstringNoEmail address for the subscriber. Supports expressions.
Resolve DatabooleanNotrueBy default the response just includes the contact ID. If enabled, the full contact record will be fetched after create/update.
Additional FieldscollectionNo{}Optional contact details stored alongside the email address.
— Birth DatedateTimeNoBirth date of the subscriber (formatted YYYY-MM-DD).
— CellphonestringNoCellphone number of the subscriber.
— Extra FieldsfixedCollectionNo{}Values for the list’s own custom fields. Add one entry per field.
— — Field IDstringNoExtra field ID. Find via E-goi dashboard or API: GET /lists/{listId}/fields (filter type === “extra”).
— — ValuestringNoThe value to store in that extra field.
— First NamestringNoFirst name of the subscriber.
— Last NamestringNoLast name of the subscriber.
— StatusoptionsNoactiveSubscriber status.
Options: unconfirmed, active, inactive, removed
— Tag IDsstringNoComma-separated list of tag IDs to attach to the contact after creation. Find tag IDs via E-goi dashboard or API: GET /tags.

Contact: Get

ParameterTypeRequiredDefaultDescription
List IDstringYesID of the E-goi mailing list. Find in E-goi dashboard under Lists. Supports expressions.
ByoptionsNoidHow to look up the contact.
Options: id (Contact ID), email
Contact IDstringNoContact ID of the subscriber. Supports expressions. (shown when By is id)
EmailstringNoEmail address for the subscriber. Supports expressions. (shown when By is email)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data. Flattens base fields and resolves extra field IDs to names.

Contact: Get Many

ParameterTypeRequiredDefaultDescription
List IDstringYesID of the E-goi mailing list. Find in E-goi dashboard under Lists. Supports expressions.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data. Flattens base fields and resolves extra field IDs to names.

Contact: Update

ParameterTypeRequiredDefaultDescription
List IDstringYesID of the E-goi mailing list. Find in E-goi dashboard under Lists. Supports expressions.
Contact IDstringNoContact ID of the subscriber. Supports expressions.
Resolve DatabooleanNotrueBy default the response just includes the contact ID. If enabled, the full contact record will be fetched after create/update.
Update FieldscollectionNo{}The contact details to change. Fields you leave out are not touched.
— Birth DatedateTimeNoBirth date of the subscriber (formatted YYYY-MM-DD).
— CellphonestringNoCellphone number of the subscriber.
— EmailstringNoUpdated email address for the subscriber.
— Extra FieldsfixedCollectionNo{}Values for the list’s own custom fields. Add one entry per field.
— — Field IDstringNoExtra field ID. Find via E-goi dashboard or API: GET /lists/{listId}/fields (filter type === “extra”).
— — ValuestringNoThe value to store in that extra field.
— First NamestringNoFirst name of the subscriber.
— Last NamestringNoLast name of the subscriber.
— StatusoptionsNoactiveSubscriber status.
Options: unconfirmed, active, inactive, removed
— Tag IDsstringNoComma-separated list of tag IDs to attach to the contact after update. Find tag IDs via E-goi dashboard or API: GET /tags.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The contact record replaces the item JSON rather than merging into it, so upstream fields are not carried forward — capture anything you still need before this node. Binary data on the input item is forwarded.

OperationOutput
createOne item. With Resolve Data off, the create response — chiefly contact_id. With it on, the full contact record fetched straight after
getOne item carrying the contact. Looking up by email returns the first match
getAllOne item per contact in the list, trimmed to Limit unless Return All is on
updateOne item. With Resolve Data off, the update response. With it on, the full contact record fetched straight after

Simplify (Get and Get Many) changes the shape of the contact:

  • On — the contact’s base fields (contact_id, email, first_name, last_name, status, …) are flattened to the top level, each extra field appears under its own field name instead of a numeric ID, and tags is kept. On a single Get, the per-channel counters email_stats, sms_stats, push_stats, webpush_stats and voice_stats are kept as well.
  • Off — the raw API record is returned, with the contact under base and custom values in an extra array of { field_id, value } entries.

Reference a contact downstream by expression, e.g. {{ $json.contact_id }}.

Usage Examples

  • Create a new subscriber in E-goi list
  • Get a contact from E-goi by email
  • List all contacts in an E-goi mailing list
  • Update a subscriber status in E-goi

Example Configuration

Create a contact with just an email address:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "create",
    "list": "123456",
    "email": "{{ $json.email }}"
  }
}

Create a contact with profile details, a custom field and tags:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "create",
    "list": "123456",
    "email": "john.doe@example.com",
    "resolveData": true,
    "additionalFields": {
      "first_name": "John",
      "last_name": "Doe",
      "cellphone": "+1234567890",
      "birth_date": "1990-01-15T00:00:00Z",
      "status": "active",
      "extraFieldsUi": {
        "extraFieldValues": [
          {
            "field_id": "custom_field_1",
            "value": "Custom Value"
          }
        ]
      },
      "tagIds": "tag1,tag2"
    }
  }
}

Get a contact by ID, simplified:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "get",
    "list": "123456",
    "by": "id",
    "contactId": "987654",
    "simple": true
  }
}

Get a contact by email address, raw:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "get",
    "list": "123456",
    "by": "email",
    "email": "john.doe@example.com",
    "simple": false
  }
}

Update a contact and re-fetch the stored record:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "update",
    "list": "123456",
    "contactId": "{{ $json.contact_id }}",
    "resolveData": true,
    "updateFields": {
      "first_name": "Jane",
      "last_name": "Smith",
      "email": "jane.smith@example.com",
      "cellphone": "+1987654321",
      "status": "active",
      "extraFieldsUi": {
        "extraFieldValues": [
          {
            "field_id": "department",
            "value": "Marketing"
          }
        ]
      }
    }
  }
}

List the first 50 contacts in a list:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "getAll",
    "list": "123456",
    "returnAll": false,
    "limit": 50,
    "simple": true
  }
}

Walk every page of a list and return the raw records:

{
  "type": "egoi",
  "parameters": {
    "resource": "contact",
    "operation": "getAll",
    "list": "123456",
    "returnAll": true,
    "simple": false
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Create, retrieve, update, and list contacts in E-goi marketing automation lists with custom field and tag support.

Notes

  • Collections take a flat object. Write "additionalFields": { "first_name": "John" } — do not wrap the fields in an extra key.
  • Extra Fields uses its group key. The entries go under extraFieldsUi.extraFieldValues, one { "field_id": …, "value": … } object per field.
  • Tags are attached after the write. Tag IDs are comma-separated and applied to the contact once it has been created or updated, so a bad tag ID fails the item after the contact already exists.
  • Birth dates are normalised. Anything the platform can parse as a date is sent to E-goi as YYYY-MM-DD.
  • Resolve Data costs an extra call. Turn it off when you only need the contact ID back from a create or update.
  • Get by email returns one contact. If several records in the list share the address, the first match is used.

Common patterns

  • Contact lifecycle: create with the email plus additional fields, retrieve with Get by ID or email, update with the contact ID and update fields, and audit the whole list with Get Many.

Frequently asked questions

What credential do I need to connect to E-goi?

You need an E-goi API credential, configured in BusyBot as type egoiApi. Generate the API key from your E-goi account settings and paste it into the credential form. All four operations — create, get, get many, and update — share the same credential.

How do I attach tags to a contact?

Tag IDs are entered as a comma-separated list and are applied after the contact write completes. This means if a tag ID is invalid, the contact will already exist in E-goi before the error is raised. Double-check your tag IDs before running the workflow to avoid partially-applied contacts.

How do I set custom extra fields on a contact?

Extra fields go under extraFieldsUi.extraFieldValues as an array of objects, each with a field_id and a value key. Do not nest them further. Standard additional fields like first_name go in a flat additionalFields object — wrapping them in another key will cause them to be ignored.

If I only need the contact ID back after a create or update, is there a way to skip the extra API call?

Yes. The node has a Resolve Data option that fetches the full contact record after a write. Turn it off when you only need the contact ID, and the node will skip that second API call, making your workflow faster and reducing API usage.

What happens if multiple contacts in a list share the same email address and I use Get by email?

The node returns only the first matching contact. E-goi may allow duplicate email addresses within a list, but this node does not surface all matches — it picks the first result. If uniqueness matters, use Get by ID instead once you have the contact ID from a prior create or update step.

Build with the E-goi node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need E-goi API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.