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

# Customer Follow-Up Loop

> Send engineering questions and resolutions back through the original customer conversation

The customer follow-up loop is what makes the bug intake system two-way. Duckie should continue the original conversation when engineering needs more information, when a workaround is available, or when the engineering issue is resolved.

## What It Does

The customer follow-up loop:

* Receives engineering questions from Slack or Linear/Jira comments
* Decides whether the question should go to the customer, support owner, or an internal lookup
* Rewrites technical questions into customer-friendly language
* Posts the question to the original support ticket or customer channel
* Waits for the customer's answer
* Summarizes the answer for engineering
* Updates the issue and Slack thread
* Detects issue completion and drafts the final customer update
* Records whether the customer conversation should stay open, pause, or close

## Recommended Components

| Need                              | Duckie component                          |
| --------------------------------- | ----------------------------------------- |
| Route questions back to customers | Customer follow-up workflow               |
| Draft customer-safe language      | Autonomous communication agent            |
| Update original ticket            | Ticketing or messaging app tools          |
| Sync answers to engineering       | Linear, Jira, and Slack tools             |
| Detect issue completion           | Issue update deployment or custom webhook |
| Final response gating             | Workflow branch and optional human review |

## Question Loop

```mermaid theme={null}
flowchart TD
  EngQuestion["Engineering question"]
  EngQuestion --> Route["Question routing workflow"]
  Route --> Draft["Customer-friendly question draft"]
  Draft --> Review["Safety and clarity check"]
  Review --> Ticket["Original customer ticket"]
  Ticket --> CustomerAnswer["Customer answer"]
  CustomerAnswer --> Summarize["Summarize answer for engineering"]
  Summarize --> Issue["Update Linear or Jira issue"]
  Summarize --> Slack["Update engineering Slack thread"]
  Slack --> Continue["Continue engineering work"]
```

## Resolution Loop

```mermaid theme={null}
flowchart TD
  IssueDone["Engineering issue completed"]
  IssueDone --> UpdateDeployment["Issue update deployment"]
  UpdateDeployment --> Resolution["Resolution workflow"]
  Resolution --> Outcome["Determine customer-facing outcome"]
  Outcome --> Draft["Draft customer update"]
  Draft --> Approval["Optional support approval"]
  Approval --> Ticket["Original customer ticket"]
  Ticket --> Close["Close or continue conversation"]
  Close --> Runs["Runs and analytics"]
```

## Customer-Facing Outcomes

| Outcome                         | Customer follow-up                                                                                |
| ------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Fix shipped**                 | Explain the fix, when it shipped, and any action the customer needs to take.                      |
| **Workaround available**        | Share the workaround and keep the engineering issue linked internally.                            |
| **Duplicate of known issue**    | Acknowledge the report and explain that the team is tracking it under an existing issue.          |
| **Cannot reproduce**            | Ask for the smallest missing detail, or explain what was tested if no further action is possible. |
| **Not planned**                 | Route to human review before sending a customer-facing response.                                  |
| **Needs customer confirmation** | Ask the customer to confirm whether the issue is resolved on their side.                          |

## Response Guidelines

Customer updates should:

* Use the original support ticket or customer channel
* Avoid exposing internal issue tracker details that customers should not see
* Explain the state in plain language
* Include any workaround or requested next step
* Avoid promising ship dates unless approved
* Link internally to the engineering issue and Duckie run
* Preserve the support team's tone and escalation policy

<Warning>
  Do not automatically tell customers that a bug is fixed just because an engineering issue moved to Done. Use the resolution workflow to check release status, workaround status, and support approval rules.
</Warning>

## Related Docs

<CardGroup cols={2}>
  <Card title="Ticketing Integrations" icon="inbox" href="/integrations/supported-integrations">
    Connect the original customer conversation.
  </Card>

  <Card title="Guidelines" icon="book" href="/guidelines/overview">
    Control customer-facing tone and response rules.
  </Card>

  <Card title="Guardrails" icon="shield" href="/guardrails/overview">
    Gate sensitive customer communication.
  </Card>

  <Card title="Deployment Modes" icon="toggle-on" href="/deployments/deployment-modes">
    Test customer follow-up before going live.
  </Card>
</CardGroup>
