---
title: "Actions: E"
description: "How to set up each action of the 6 apps starting with E."
label: "E"
generated: "the tool catalog in services/core/src/tool-catalog"
---


Apps starting with E. Add any of these from **Integrations → n8n → Add tools → Browse apps**; see [Set up an action](/build/set-up-actions) for each way a key is sent, and the [catalog index](/reference/actions) for every app.

## E-goi

- **n8n node:** [E-goi](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.egoi/) (`n8n-nodes-base.egoi`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *E-Goi API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/egoi/)).
- **Veefore performs it:** 4 of 4 actions, with the key in a header, as `Apikey: <key>`.
- **You enter:** API key.
- **API address:** `https://api.egoiapp.com`.
- **Get the key:** [helpdesk.e-goi.com](https://helpdesk.e-goi.com/511369-Whats-E-gois-API-and-where-do-I-find-my-API-key)

**E-goi in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a member | `POST /lists/{list}/contacts` | `list` |
| Get a member | `GET /lists/{list}/contacts?email={email}` | `list`, `email` |
| Get many members | `GET /lists/{list}/contacts` | `list` |
| Update a member | `PATCH /lists/{list}/contacts/{contactId}` | `list`, `contactId` |

## Elastic Security

- **n8n node:** [Elastic Security](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.elasticsecurity/) (`n8n-nodes-base.elasticSecurity`, version 1), 14 actions.
- **n8n performs it:** runs on the n8n credential *Elastic Security API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/elasticsecurity/)).
- **Veefore performs it:** 14 of 14 actions, with the key in a header, as `Authorization: ApiKey <key>`.
- **You enter:** API key.
- **API address:** `https://{baseUrl}/api`.
- **Get the key:** [elastic.co](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html)

**Elastic Security in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a case | `POST /cases` | `title`, `connectorId`, `connectorType`, `issueType`, `priority`, `baseUrl` |
| Delete a case | `DELETE /cases?ids=%5B%22{caseId}%22%5D` | `caseId`, `baseUrl` |
| Get a case | `GET /cases/{caseId}` | `caseId`, `baseUrl` |
| Get many cases | `GET /cases/_find` | `baseUrl` |
| Get the status of a case | `GET /cases/status` | `baseUrl` |
| Update a case | `PATCH /cases` | `caseId`, `baseUrl` |
| Add a comment to a case | `POST /cases/{caseId}/comments` | `caseId`, `comment`, `baseUrl` |
| Get a case comment | `GET /cases/{caseId}/comments/{commentId}` | `caseId`, `commentId`, `baseUrl` |
| Get many case comments | `GET /cases/{caseId}/comments` | `caseId`, `baseUrl` |
| Remove a comment from a case | `DELETE /cases/{caseId}/comments/{commentId}` | `caseId`, `commentId`, `baseUrl` |
| Update a comment from a case | `PATCH /cases/{caseId}/comments` | `caseId`, `commentId`, `comment`, `baseUrl` |
| Add a tag to a case | `GET /cases/{caseId}` | `caseId`, `tag`, `baseUrl` |
| Remove a tag from a case | `GET /cases/{caseId}` | `caseId`, `tag`, `baseUrl` |
| Create a connector | `POST /actions/connector` | `name`, `connectorType`, `apiUrl`, `email`, `apiToken`, `projectKey` and 1 more |

## Elasticsearch

- **n8n node:** [Elasticsearch](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.elasticsearch/) (`n8n-nodes-base.elasticsearch`, version 1), 9 actions.
- **n8n performs it:** runs on the n8n credential *Elasticsearch API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/elasticsearch/)).
- **Veefore performs it:** 9 of 9 actions, with HTTP basic auth: username Username, password Password.
- **You enter:** Username, Password.
- **API address:** `https://{host}`.

**Elasticsearch in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a document | `PUT /{indexId}/_doc/{documentId}` | `indexId`, `host`, `documentId` |
| Delete a document | `DELETE /{indexId}/_doc/{documentId}` | `indexId`, `documentId`, `host` |
| Get a document | `GET /{indexId}/_doc/{documentId}` | `indexId`, `documentId`, `host` |
| Get many documents | `POST /{indexId}/_search` | `indexId`, `host` |
| Update a document | `POST /{indexId}/_update/{documentId}` | `indexId`, `documentId`, `host` |
| Create an index | `PUT /{indexId}` | `indexId`, `host` |
| Delete an index | `DELETE /{indexId}` | `indexId`, `host` |
| Get an index | `GET /{indexId}` | `indexId`, `host` |
| Get many indices | `GET /_aliases` | `host` |

## Emelia

- **n8n node:** [Emelia](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.emelia/) (`n8n-nodes-base.emelia`, version 1), 9 actions.
- **n8n performs it:** runs on the n8n credential *Emelia API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/emelia/)).
- **Veefore performs it:** 9 of 9 actions, with the key in a header, as `Authorization: <key>`.
- **You enter:** API key.
- **API address:** `https://graphql.emelia.io`.
- **Get the key:** [app.emelia.io](https://app.emelia.io/settings/api)

**Emelia in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Add a contact to a campaign | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Create a campaign | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Duplicate a campaign | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Get a campaign | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Get many campaigns | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Pause a campaign | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Start a campaign | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Add a contact list | `POST /graphql` (a GraphQL document) | `query`, `variables` |
| Get many contact lists | `POST /graphql` (a GraphQL document) | `query`, `variables` |

## ERPNext

- **n8n node:** [ERPNext](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.erpnext/) (`n8n-nodes-base.erpNext`, version 1), 5 actions.
- **n8n performs it:** runs on the n8n credential *ERPNext API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/erpnext/)).
- **Veefore performs it:** 5 of 5 actions, with the key in a header, as `Authorization: token <key>`.
- **You enter:** API key and secret, as key:secret.
- **API address:** `https://{baseUrl}`.

**ERPNext in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a document | `POST /api/resource/{docType}` | `docType`, `baseUrl` |
| Delete a document | `DELETE /api/resource/{docType}/{documentName}` | `docType`, `documentName`, `baseUrl` |
| Get a document | `GET /api/resource/{docType}/{documentName}` | `docType`, `documentName`, `baseUrl` |
| Get many documents | `GET /api/resource/{docType}` | `baseUrl`, `docType` |
| Update a document | `PUT /api/resource/{docType}/{documentName}` | `docType`, `documentName`, `baseUrl` |

## Evaluation

- **n8n node:** [Evaluation](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.evaluation/) (`n8n-nodes-base.evaluation`, version 4.8), 4 actions.
- **n8n performs it:** runs on the n8n credential *Google Service Account API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/google/)).
- **Veefore performs it:** not available. Evaluation is not a web API (a database, queue, file transfer or local step), so only n8n can perform it.

**Evaluation in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Set Inputs | n8n performs it | — |
| Set Outputs | n8n performs it | `dataTableId` |
| Set Metrics | n8n performs it | — |
| Check If Evaluating | n8n performs it | — |
