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

# Configure FAQ and Highlights jobs

> Generate product FAQs and highlights and configure recurring catalogue runs.

The FAQ and Highlights automation generates stored product-page content for every product in a tenant's catalogue. A production run generates FAQs first and highlights second. The content can then be retrieved through the [FAQs](/api-reference/endpoints/faqs) and [Highlights](/api-reference/endpoints/highlights) endpoints.

<Note>
  FAQ and Highlights automation is available to System Administrator and Customer Success users in the preezie internal tool.
</Note>

## Test a product first

Use a preview to check the expected output before processing the complete catalogue:

1. Open **FAQs & Highlights**.
2. Select the tenant.
3. Open the **Test Product** tab.
4. Enter an exact product ID from the selected tenant's catalogue.
5. Select **Run test**.
6. Review the generated `faqs` and `highlights` output.

A preview processes only the selected product. It does not save the generated content, change the automation schedule, or add an entry to run history.

## Run the initial full import

1. Open the **Manage Schedule** tab.
2. Select **Run full import**.
3. Follow the progress through the **Generating FAQs** and **Generating Highlights** phases.
4. Wait until the run reports **Succeeded** before checking the public endpoints.

The full import processes the tenant's complete product catalogue and stores the generated FAQs and highlights. Starting it also records the schedule anchor used by recurring automation.

Only one production run can be active for a tenant. The tool disables the action while it knows a run is queued or running; if another run has already started, the API rejects the new request.

## Enable recurring automation

1. Select the tenant and open **Manage Schedule**.
2. Turn on **Enable**.
3. Select a frequency from 1 to 6 months.
4. Select **Save frequency**.
5. Select **Run full import** to start or reset the automation clock.

Enabling automation or changing its frequency does not establish a new schedule anchor by itself. A successful full-import request anchors the recurring job at the time the run starts. The screen then displays **Next run**.

<Warning>
  After enabling automation or changing its frequency, run a full import. Until a full import establishes or resets the anchor, the new recurring schedule is not created or updated.
</Warning>

Scheduled runs use the configured month interval and the UTC date and time of the latest full import. Dates later than the 28th are scheduled on the 28th to ensure the job can run in every month.

## Disable automation

Turn off **Enable** to remove the recurring schedule. Disabling automation does not delete previously generated content or run history, and it does not stop a production run that is already active.

You can still start a full import manually while recurring automation is off. That import updates the schedule anchor, but no recurring job is registered until automation is enabled and another full import is started.

## Monitor jobs

The active-run panel shows:

* whether the run is queued or running;
* the current FAQ or Highlights generation phase;
* the number of processed and total products; and
* a progress bar when the total product count is known.

The **Run history** table shows the latest 20 production runs, including their start time, manual or scheduled trigger, product progress, and status. Failed runs include an error summary when one is available.

The available run statuses are:

| Status      | Meaning                                                                  |
| ----------- | ------------------------------------------------------------------------ |
| `Queued`    | The run is waiting for a worker.                                         |
| `Running`   | FAQ or Highlights generation is in progress.                             |
| `Succeeded` | Both generation phases completed.                                        |
| `Failed`    | The run stopped with an error. Review the error summary before retrying. |

## Verify generated content

After a successful run, request a known product through both Product Content endpoints:

```bash theme={null}
curl --request GET \
  "$PREEZIE_API_URL/api/faqs/product-123" \
  --header "Tenantid: $PREEZIE_TENANT_ID"

curl --request GET \
  "$PREEZIE_API_URL/api/highlights/product-123" \
  --header "Tenantid: $PREEZIE_TENANT_ID"
```

If a product returns an empty array after the run succeeds, confirm that the product ID belongs to the selected tenant and inspect run history for partial progress or a failure.

## Knowledge-base FAQ jobs

Product-content automation is separate from the conversational FAQ knowledge base. To scrape FAQ pages and refresh existing knowledge-base answers, see [Configure knowledge-base FAQ refreshes](/guides/configure-faq-import-jobs).
