# Integrating with the Agent

The [Rekor Scout® Agent](/scout/agent/system-requirements.md) runs as either a service (on Windows) or a daemon (on Linux). The process runs constantly in the background, watching the configured video streams for license plates. When a license plate is found, it immediately places JSON data onto a local beanstalkd queue for uploading or processing.

Decide whether your application should receive data from Rekor Scout (sent via HTTP POST) or pull data from a queue on demand. Both approaches are equally valid; your choice simply depends on the most appropriate integration method based on your application architecture.

The JSON for both plate and group results contains a `camera_id` field which corresponds to the numeric identifier in the camera's `.conf` file (located in `/etc/openalpr/stream.d` on Linux and `C:\OpenALPR\Agent\etc\openalpr\stream.d` on Windows). Typically this is randomly generated and since only numbers are allowed, it can be more useful to obtain a human-readable string identifier for the camera. To do this, you will need to build and monitor an ID to name mapping using the `video_streams` field of the JSON heartbeat.

If you need to receive additional information from the agent beyond the fields included in this section's JSON templates, you can set the `user_data` field of your `alprd.conf`. This can contain any arbitrary string that will be sent with every payload from the agent.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rekor.ai/scout/application-integration/integrating-with-the-agent.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
