---
title: "LDAP"
description: "Reference for the Tracecat LDAP integration: registered actions, required secrets, expected inputs, and example workflow usage."
---

{/* Auto-generated by scripts/generate_tool_docs.py; do not edit by hand. */}
## Add LDAP entry

Action ID: `tools.ldap.add_entry`

Add an entry to the LDAP directory.

Reference: [https://ldap3.readthedocs.io/en/latest/add.html](https://ldap3.readthedocs.io/en/latest/add.html)

### Secrets

Required secrets:

- `ldap`: required values `LDAP_HOST`, `LDAP_PORT`, `LDAP_USER`, `LDAP_PASSWORD`.

### Input fields

<ParamField path="attributes" type="object" required>

Attributes of the entry

</ParamField>

<ParamField path="dn" type="string" required>

Distinguished name of the entry

</ParamField>

<ParamField path="object_class" type="string" required>

Object class of the entry

</ParamField>

<ParamField path="connection_kwargs" type="object | null">

Additional connection parameters

Default: `null`.

</ParamField>

<ParamField path="server_kwargs" type="object | null">

Additional server parameters

Default: `null`.

</ParamField>

## Delete LDAP entry

Action ID: `tools.ldap.delete_entry`

Delete an entry from the LDAP directory.

Reference: [https://ldap3.readthedocs.io/en/latest/delete.html](https://ldap3.readthedocs.io/en/latest/delete.html)

### Secrets

Required secrets:

- `ldap`: required values `LDAP_HOST`, `LDAP_PORT`, `LDAP_USER`, `LDAP_PASSWORD`.

### Input fields

<ParamField path="dn" type="string" required>

Distinguished name of the entry

</ParamField>

<ParamField path="connection_kwargs" type="object | null">

Additional connection parameters

Default: `null`.

</ParamField>

<ParamField path="server_kwargs" type="object | null">

Additional server parameters

Default: `null`.

</ParamField>

## Modify LDAP entry

Action ID: `tools.ldap.modify_entry`

Modify an LDAP entry in the directory.

Reference: [https://ldap3.readthedocs.io/en/latest/modify.html](https://ldap3.readthedocs.io/en/latest/modify.html)

### Secrets

Required secrets:

- `ldap`: required values `LDAP_HOST`, `LDAP_PORT`, `LDAP_USER`, `LDAP_PASSWORD`.

### Input fields

<ParamField path="changes" type="map[string, array[array[any]]]" required>

Changes to the entry

</ParamField>

<ParamField path="dn" type="string" required>

Distinguished name of the entry

</ParamField>

<ParamField path="connection_kwargs" type="object | null">

Additional connection parameters

Default: `null`.

</ParamField>

<ParamField path="server_kwargs" type="object | null">

Additional server parameters

Default: `null`.

</ParamField>

## Search LDAP directory

Action ID: `tools.ldap.search_entries`

Search the LDAP directory for entries matching the query.

Reference: [https://ldap3.readthedocs.io/en/latest/searches.html](https://ldap3.readthedocs.io/en/latest/searches.html)

### Secrets

Required secrets:

- `ldap`: required values `LDAP_HOST`, `LDAP_PORT`, `LDAP_USER`, `LDAP_PASSWORD`.

### Input fields

<ParamField path="search_base" type="string" required>

Search base DN

</ParamField>

<ParamField path="search_filter" type="string" required>

LDAP search filter (RFC4515 syntax). Example: '(cn=John*)' or '(&amp;(objectClass=person)(mail=*@example.com))'

</ParamField>

<ParamField path="connection_kwargs" type="object | null">

Additional connection parameters

Default: `null`.

</ParamField>

<ParamField path="server_kwargs" type="object | null">

Additional server parameters

Default: `null`.

</ParamField>
