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

# WooCommerce Product Recall

> Take products of a specified model off sale without deleting them, email affected past customers a recall notice with a strictly template-matching Google Form, and save the form details to recall_report.json.

> **Toolathlon-Verified** · Website task ID `303` · Canonical task `woocommerce-product-recall`
>
> [View the task source at `d57361c0`](https://github.com/hkust-nlp/Toolathlon/tree/d57361c0f1582cf9a0675c0753315bb6b004bd0e/tasks/finalpool/woocommerce-product-recall)

## Required Tools

<Card>
  <div className="tools-container">
    <div className="mcp-servers-container">
      <div className="mcp-servers-title">
        MCP Servers
      </div>

      <div className="mcp-servers-grid">
        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/v2Ad3GlVGK-9gZ_R/icons/woo.png?fit=max&auto=format&n=v2Ad3GlVGK-9gZ_R&q=85&s=85a44b46ac66075ff2387392d419ed0c" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/woo.png" />

          <span className="mcp-server-name">woocommerce</span>
        </div>

        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/QdN2Y6f6c_GBV7Vj/icons/mail.png?fit=max&auto=format&n=QdN2Y6f6c_GBV7Vj&q=85&s=9ecb0754cdecded1056a38c415532554" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/mail.png" />

          <span className="mcp-server-name">emails</span>
        </div>

        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/QdN2Y6f6c_GBV7Vj/icons/google_forms.png?fit=max&auto=format&n=QdN2Y6f6c_GBV7Vj&q=85&s=64b46fec5ab8b7c1c405aaec2aa67996" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/google_forms.png" />

          <span className="mcp-server-name">google\_forms</span>
        </div>

        <div className="mcp-server-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/QdN2Y6f6c_GBV7Vj/icons/filesystem.png?fit=max&auto=format&n=QdN2Y6f6c_GBV7Vj&q=85&s=b4163322f58a72b712c697bdbeac85b9" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="64" height="64" data-path="icons/filesystem.png" />

          <span className="mcp-server-name">filesystem</span>
        </div>
      </div>
    </div>

    <div className="local-tools-container">
      <div className="mcp-servers-title">
        Local Tools
      </div>

      <div className="local-tools-grid">
        <div className="local-tool-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/ucpMq24upueB4g4R/icons/claim_done.png?fit=max&auto=format&n=ucpMq24upueB4g4R&q=85&s=94ee5a6cf860bae09936a702c6c6c648" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="14" height="14" data-path="icons/claim_done.png" />

          <span className="local-tool-name">claim\_done</span>
        </div>

        <div className="local-tool-item">
          <Icon icon="filter-list" size={20} color="#4286f6" />

          <span className="local-tool-name">handle\_overlong\_tool\_outputs</span>
        </div>

        <div className="local-tool-item">
          <Icon icon="bars-progress" size={20} color="#4286f6" />

          <span className="local-tool-name">manage\_context</span>
        </div>

        <div className="local-tool-item">
          <img alt="" aria-hidden="true" src="https://mintcdn.com/hkust/ucpMq24upueB4g4R/icons/history.png?fit=max&auto=format&n=ucpMq24upueB4g4R&q=85&s=25d885756cf14ced8475bd94adfdecb7" style={{height: "20px", width: "20px", margin: 0, padding: 0, display: 'inline-block'}} width="14" height="14" data-path="icons/history.png" />

          <span className="local-tool-name">history</span>
        </div>
      </div>
    </div>
  </div>
</Card>

## Instruction

Remove products of a specified model from your WooCommerce store and recall the corresponding products. The product must be taken off the shelf (set to draft or private status, or with catalog visibility set to hidden), rather than deleted. Given a product model, search for historical orders related to that product and send a recall email to the corresponding customer's email address. See `recall_email_template.md` for the email template. The email must include a Google Forms recall form created by strictly following the `recall_form_template.json` template (order of questions, options and contents), and return the form information in `recall_report.json`. The template is as follows:

```json theme={null}
{
"form_id": "Google Forms form ID",

"form_url": "Google Forms form link",
}
```

## Initial State

### Local Workspace

<div className="file-tree">
  <a href="https://github.com/hkust-nlp/Toolathlon/tree/d57361c0f1582cf9a0675c0753315bb6b004bd0e/tasks/finalpool/woocommerce-product-recall/initial_workspace">workspace</a>/
  ├── recall\_email\_template.md
  └── recall\_form\_template.json
</div>

### Runtime Setup

This task initializes application or service state during preprocessing. [Review the pinned setup source](https://github.com/hkust-nlp/Toolathlon/tree/d57361c0f1582cf9a0675c0753315bb6b004bd0e/tasks/finalpool/woocommerce-product-recall/preprocess).

## Legacy Trajectories

<Warning>
  These replays were produced on the original Toolathlon release. They are retained for historical inspection and are not Toolathlon-Verified results.
</Warning>

* ✅ [Claude-4.5-Sonnet](https://toolathlon-traj.xyz/claude-4.5-sonnet_woocommerce-product-recall)
* ✅ [Deepseek-v3.2-Exp](https://toolathlon-traj.xyz/deepseek-v3.2-exp_woocommerce-product-recall)
