CopyHero domain objects and relationships
Understand the public product, store, task, agent, workflow, run, and job object model without internal database details.
CopyHero separates reusable configuration from the work created when that configuration runs. This distinction helps you choose the correct object when using the app, the Assistant, or a supported integration.
Catalog and destination objects
| Object | Public meaning |
|---|---|
| Product | The canonical catalog record that CopyHero processes and keeps in product history. |
| Product Library | The catalog view for organizing products before assigning destination work. A library import does not publish to Shopify. |
| Destination Store | A connected Shopify store that can receive and publish products. Store language and currency can supply run-time values to compatible tasks. |
| Product-store relationship | The store-specific connection for one product. It carries that destination's remote identity, publishing state, and sync state, so one product can be connected to more than one store independently. |
A product remains one catalog item even when it is connected to several destination stores. Publishing or synchronization is evaluated for the chosen product and destination together; another store's state does not replace it.
Reusable processing objects
| Object | Public meaning |
|---|---|
| Task | One reusable processing step created on Tasks, such as Translate, Template, Conversion, or Custom. Its job_type and input_data define what future runs do. |
| Agent | One reusable, prompt-driven workflow step created on Agents. Its allowed tools determine what it can read, research, and update while it runs. |
| Workflow | An ordered recipe built from reusable tasks and agents. Editing it changes future runs, not completed history. |
A task or agent does nothing by itself. Add it to a workflow, then start that workflow for the products and destination context you intend to process.
Execution objects
| Object | Public meaning |
|---|---|
| Run | One tracked execution of a workflow for selected products. A bulk start groups related work into the same run. |
| Job | One workflow step executing for one product. Each job has its own state, result, and error information. |
One workflow can create many runs. One run can contain work for many products, and every product can have several jobs because each workflow step runs separately.
Lifecycle boundaries
- Editing a task, agent, or workflow affects later runs only.
- A queued or pending job has been accepted but has not completed.
- A run can contain successful jobs and failed jobs at the same time.
- Product Library work remains separate from Shopify publishing until you explicitly choose a destination action.
- Store-dependent values such as destination language or currency are resolved when the workflow runs, not when a reusable task is merely listed.