Skip to main content
This system keeps three records connected: the original customer ticket, the engineering issue, and the internal engineering discussion. Workflows own state and synchronization. Agents handle interpretation, communication, and summaries.

Two-Way Operational Flow

Reporting and Improvement Loop

Component Responsibilities

ComponentResponsibility
Support ticket deploymentStarts the system from a customer support ticket, chat, email, or webhook.
Bug intake workflowNormalizes the report, links records, and owns intake state.
Customer and product context workflowFetches account, environment, plan, product usage, incident, and version context.
Repro gathering workflowChecks for steps, expected behavior, actual behavior, logs, screenshots, environment, and impact.
Bug intake agentInterprets the messy customer report and drafts an engineering-ready summary.
Engineering issue workflowCreates or updates Linear or Jira issues with consistent fields and links.
Engineering Slack agentPosts summaries and questions to an internal engineering channel and returns structured decisions.
Question routing workflowSends engineering questions back to the original customer conversation.
Answer sync workflowSends customer answers back to the Linear or Jira issue and Slack thread.
Resolution workflowDetects issue completion and routes the final customer update through support.
Duckie Assistant reporting agentPosts scheduled summaries about bug intake volume, blockers, and resolutions.
Duckie Assistant feedback agentReviews runs and corrections to improve Duckie configuration.

Deterministic vs Autonomous

Use deterministic workflows for:
  • Record linking between support ticket, issue, and Slack thread
  • Required repro checklist checks
  • Duplicate detection rules
  • Allowed issue field values
  • Linear or Jira issue creation and update
  • Customer question routing
  • Customer answer sync
  • Issue status handling
  • Final customer follow-up gating
Use autonomous agents for:
  • Interpreting unclear customer reports
  • Summarizing technical context
  • Drafting reproduction steps
  • Drafting engineering issue descriptions
  • Translating engineering questions into customer-friendly language
  • Drafting resolution messages
  • Summarizing blocked issues and trends
The critical design choice is the record map. Store the support ticket ID, engineering issue ID, Slack thread link, customer follow-up status, and current owner in workflow state so every update can route back to the right place.

Deployment Inventory

DeploymentTriggerTargetMode to start
Bug intakeTicket created, message received, email received, or custom webhookBug intake workflowTesting
Engineering issue syncLinear or Jira issue created, updated, completed, or commentedResolution or answer sync workflowTesting
Engineering Slack collaborationInternal Slack channel or workflow escalation requestEngineering Slack agentTesting
Daily bug intake reportScheduler, such as weekdays at 9 AMDuckie Assistant reporting agentTesting
Bug intake feedback reviewScheduler or manual internal requestDuckie Assistant feedback agentTesting

Custom Webhooks

Trigger Duckie from issue tracker or internal events.

Linear

Connect Duckie to Linear.

Jira

Connect Duckie to Jira.

Runs

Inspect linked support, engineering, and Slack activity.