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

# Product integrations

> What an integration is, how to install one, and when it has to be installed again.

Some products need a small part of themselves to run inside your **other** resources. That part is
called an integration. It is not installed automatically: you run a script that comes with the
release.

A product that needs no integration ships neither an `integrations` directory nor the installer
scripts, and this page does not apply to it. The product's own installation page says which case you
are in.

## Outcome

Every resource on your server carries the product's integration, so the product can do what it
needs across your whole server.

## Prerequisites

* The product installed and starting cleanly. See [Install a
  product](/getting-started/installation).
* An `integrations` directory in the product's resource, and the two installer scripts beside it.
* On Windows, PowerShell. On Linux, a shell with `find`, `grep` and `perl` available.
* A backup of your `resources` directory. The script edits files that belong to your other
  resources.

## Steps

### 1. Understand what the script changes

The script visits every resource under your server's `resources` directory and adds a few lines near
the top of each resource's `fxmanifest.lua`, pointing at files inside the product:

```lua theme={null}
client_script '@element_map/integrations/external-blips/client/blips.lua'
```

Nothing else in those files is touched. The product's own resource is skipped.

The script is safe to run more than once: before adding its lines it removes any it added
previously, so running it twice does not produce two copies.

### 2. Run the script for your platform

The scripts sit in the product's resource directory and must be run from there: they locate your
`resources` directory by walking up from their own position.

**Windows**

```text theme={null}
resources\[element]\element_map\windows-install-hooks-element_map.bat
```

Double-click it, or run it from a terminal. It prints one line per resource it changed, then
`Hooks applied successfully!`.

The `.bat` is a launcher for `windows-install-hooks-element_map.ps1` beside it, which is where the work
happens. Both must stay together. The `.ps1` is plain text and readable if you want to see exactly what
will be changed before running it.

**Linux**

```bash theme={null}
cd resources/\[element\]/element_map
./linux-install-hooks-element_map.sh
```

It prints one line per resource it changed, then `Done!`.

Both scripts leave every manifest in the encoding it already had, so a description with accented
characters comes back unchanged.

### 3. Restart the server

The changed manifests are read when a resource starts. A full server restart is the simplest way to
pick them all up.

## Verification

Open one of your other resources' `fxmanifest.lua` and confirm the added line is near the top, below
the `fx_version` and `game` lines. Then confirm in game that the product feature which needed the
integration now works. The product's own pages say which feature that is.

## Next steps

### Run it again when your server changes

The script only reaches the resources that existed when you ran it. Run it again after:

* adding a new resource to your server;
* updating the product, because the update replaces the `integrations` directory and the scripts.

### Removing an integration

There is no uninstaller. To remove it, delete the lines beginning `@<product resource>/integrations/`
from each `fxmanifest.lua` and restart. Removing the product's resource without removing those lines
leaves your other resources pointing at files that no longer exist.

### What to expect from an integration

An integration runs inside your other resources, so it can change how they behave while the product
is active. Each product documents what its own integration does; read that page before installing.
Element 3D Map's is described in [Markers do not
appear](/products/map/troubleshooting/blips-missing).

## Related

* [What is inside a product resource](/concepts/resources)
* [Update a product or the SDK](/getting-started/updating)
