Portal Community

When to Use

Configuration

Connection

FieldRequiredDescription
HostRequiredElasticsearch cluster URL, e.g. https://localhost:9200.
UsernameOptionalElasticsearch username (required if security is enabled).
PasswordOptionalPassword for the specified username.
IgnoreSSLOptionalDefault false. Skip TLS validation. Development use only.

Operation

FieldRequiredDescription
IndexNameRequiredThe index containing the document to delete.
DocumentIdRequiredThe exact _id of the document to remove. Supports BizFirst expressions, e.g. {{ $json.userId }}.

Validation Errors

Error CodeCause
VAL_MISSING_INDEXIndexName is empty.
VAL_MISSING_DOC_IDDocumentId is empty.

Output

Success Port

Returns the Elasticsearch delete response. Key fields include _id (the deleted document's ID), _index, _version, and result ("deleted").

Error Port

Fires when the document does not exist (404), authentication fails, or a network error occurs. The error output contains errorCode and message fields.

Deletion is permanent. There is no soft-delete or recycle bin. Once a document is deleted, it cannot be recovered from Elasticsearch. If you need reversibility, update a deleted or archivedAt field instead of deleting the document.
Not-found handling: If the document does not exist, the operation routes to the error port. Use the success/error port split to handle both cases: the success port confirms deletion, the error port handles the case where the document was already absent.

Examples

Delete a Discontinued Product

{
  "resource": "document",
  "operation": "delete",
  "IndexName": "products",
  "DocumentId": "{{ $json.productId }}"
}

Connect the success port to a confirmation node (e.g. log the deletion) and the error port to an alert node if the document was unexpectedly missing.

GDPR Erasure Workflow

{
  "resource": "document",
  "operation": "delete",
  "IndexName": "user-profiles",
  "DocumentId": "{{ $json.userId }}"
}

Place this node after the primary database deletion step. On the success port, proceed to delete from any additional indices (e.g. user-activity-logs). On the error port, log that the document was not present in Elasticsearch — this is acceptable if the user never had a search profile created.

Cache Invalidation Pattern

{
  "resource": "document",
  "operation": "delete",
  "IndexName": "product-cache",
  "DocumentId": "{{ $json.productId }}"
}

After removing the cached entry, connect the success port to a document/create node that re-indexes the fresh version of the product. This ensures the cache always reflects the latest source data.