---
title: "How we built OCA, our AI on-call assistant"
description: "Ramp built OCA, an AI on-call assistant that investigates incidents, shares findings in Slack, answers follow-up questions, and can ask Inspect to prepare code-fix pull requests for human review. In the past four weeks, it assisted with 575 of 1,220 incident-related merged PRs; among incidents with merged fixes, OCA-assisted fixes averaged 37% fewer engineers and about 50% less estimated engineer time, based on Slack activity. Investigations run in a monorepo through Claude Code or Codex, with Temporal managing workflow, while prompts, custom tools, skills, and six one-shot hooks provide successive evidence and reasoning checks. Session-driven testing exposed errors such as misleading one-hour log windows, leading to just-in-time instructions and interim updates that balance accuracy with response speed. OCA remains human-in-the-loop: it has broad read-only access, narrowly scoped writes, and cannot merge changes, although the team is building toward end-to-end routine incident handling."
---

# How we built OCA, our AI on-call assistant

[Ramp](https://yomu.fyi/company/ramp) · Richard Marmorstein, Austin Ray · Sep 9, 2026

**Type:** Explainer

## Summary

Ramp built OCA, an AI on-call assistant that investigates incidents, shares findings in Slack, answers follow-up questions, and can ask Inspect to prepare code-fix pull requests for human review. In the past four weeks, it assisted with 575 of 1,220 incident-related merged PRs; among incidents with merged fixes, OCA-assisted fixes averaged 37% fewer engineers and about 50% less estimated engineer time, based on Slack activity. Investigations run in a monorepo through Claude Code or Codex, with Temporal managing workflow, while prompts, custom tools, skills, and six one-shot hooks provide successive evidence and reasoning checks. Session-driven testing exposed errors such as misleading one-hour log windows, leading to just-in-time instructions and interim updates that balance accuracy with response speed. OCA remains human-in-the-loop: it has broad read-only access, narrowly scoped writes, and cannot merge changes, although the team is building toward end-to-end routine incident handling.

## Context

Ramp wanted to reduce the on-call burden while avoiding an agent that wastes responders’ time with confident but incorrect explanations. Early Claude Opus 4.5 investigations stopped at plausible explanations and were too inconsistent to trust without human guidance.

## Approach / What changed

OCA launches Claude Code or Codex in a checkout of Ramp’s backend monorepo, using investigation tools, prompts, skills, custom CLIs, session-driven testing, and just-in-time hook detours. Temporal manages workflow durability, while interim updates, responder ratings, and human review support ongoing evaluation and controlled autonomy.

## Takeaways

- OCA assisted with 575 of 1,220 PRs merged to address incidents over four weeks; responders rated it helpful 90% of the time.
- Six one-shot hooks add staged cross-checks, reasoning-trap checks, sanity checks, Slack-rule reviews, and remediation-plan checks before OCA posts findings.
- OCA’s memory system had no discernible effect on responder ratings but appeared to speed up investigations, according to the team’s evaluation.

**Tags:** [AI Agents](https://yomu.fyi/topic/ai-agents), [Incident Response](https://yomu.fyi/topic/incident-response), [Temporal](https://yomu.fyi/topic/temporal)

- Source: [Ramp](https://builders.ramp.com/post/how-we-built-oca-our-ai-on-call-assistant)
- Source URL: https://builders.ramp.com/post/how-we-built-oca-our-ai-on-call-assistant
- Ingested by Yomu: 2026-09-10T00:01:31.897Z

[Read original post](https://builders.ramp.com/post/how-we-built-oca-our-ai-on-call-assistant)
