> For the complete documentation index, see [llms.txt](https://docs.paradime.io/app-help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.paradime.io/app-help/products/bolt/creating-schedules/2.-self-healing.md).

# 2. Self-Healing

When a Bolt run fails on a schedule with Self-Healing enabled, Paradime automatically triggers a DinoAI agent against the failure — inside the same Slack thread as the failure notification. The agent diagnoses the run, implements a fix, and opens a pull request for your team to review.

{% hint style="info" %}
You stay in control. The agent **always opens a PR** — it never merges to your default branch. Reviewers approve the fix before it reaches production.
{% endhint %}

{% hint style="warning" %}

#### Prerequisites

* **A Slack notification channel** must be configured for this schedule under Notification Settings — Self-Healing reuses the failure-notification thread to run the agent in.
* Aa Programmable Agent defined under `.dinoai/agents/<name>.yml` if you want a custom healer instead of the default Bolt-fix agent.
  {% endhint %}

#### Configure from the Bolt UI

In the Bolt schedule editor:

1. Open the **Self-Healing** section.
2. Toggle **Enable Self-Healing**.
3. Pick the **Slack channel** the agent should run in. It must already be configured as a Slack notification channel on this schedule.
4. Pick an **Agent Name** from the dropdown — the list is populated from `.dinoai/agents/*.yml` on the configured git branch. Leave empty to use Paradime's default Bolt-fix agent.
5. Save the schedule.

<div data-with-frame="true"><figure><img src="/files/BWVPsa54TyLaP9UxjfT2" alt=""><figcaption></figcaption></figure></div>

#### Configure from YAML

If you manage schedules as code, add a `self_healing` block to the schedule:

```yaml
self_healing:
  enabled: true
  slack_channel: '#agent-demo'
  agent_name: bolt-pipeline-healer
```

{% hint style="warning" %}
`self_healing.slack_channel` **must also appear** in `notifications.slack_channels` for the same schedule. The validator rejects the schedule otherwise. The agent threads into the failure notification, so the notification has to exist for the agent to find its thread.
{% endhint %}

***

#### What happens when a run fails

1. The standard failure notification posts to every Slack channel in `notifications.slack_channels`.
2. In the **Self-Healing channel**, Paradime posts `🦖 Self-healing enabled — starting healing session...` into the failure thread and triggers the DinoAI agent.
3. In every **other** notification channel, Paradime posts `🦖 Self-healing started in #<healing-channel>` so reviewers know where to follow along.
4. The agent works in-thread, posts progress, and ends with a PR link for the proposed fix.
5. If the same schedule has been self-healed recently, the agent is given a summary of those prior sessions so it doesn't duplicate work — for example, if an open PR already proposes a fix.

For the full agent-side narrative, see DinoAI → Self-Healing.

***

#### Related

* [Notification Settings](/app-help/documentation/bolt/creating-schedules/notification-settings.md) - Configure the Slack channel Self-Healing reuses
* [Schedules as Code](/app-help/products/bolt/creating-schedules/schedules-as-code.md) - Configuration Reference — Full YAML schema
* [DinoAI Self-Healing](/app-help/products/dino-ai/bolt-pipeline-agent/self-healing.md) - How the agent diagnoses and fixes the failure
* [Fix with DinoAI](/app-help/products/dino-ai/bolt-pipeline-agent/fix-with-dinoai.md) - Manual one-click equivalent
* [Programmable Agents](/app-help/guides-new/programmable-agents.md) - Author a custom `agent_name`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.paradime.io/app-help/products/bolt/creating-schedules/2.-self-healing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
