> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracecat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LDAP

> Reference for the Tracecat LDAP integration: registered actions, required secrets, expected inputs, and example workflow usage.

## 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 '(&(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>
