Agent skills › manifold-from-cin7

Download the skill · SKILL.md · over MCP, the prompt manifold-from-cin7

Setting Manifold up from Cin7

Who this is for: a merchant whose stock, products, suppliers, customers and orders live in Cin7 Core (formerly DEAR Inventory) or Cin7 Omni, and who will run Cin7 beside Manifold until they switch. If they also sell through Shopify, read the manifold-shopify-and-cin7 skill alongside this one: it says when Shopify may be connected.

This skill is the whole journey. The manifold-cin7-migration skill is the detailed procedure for its middle: creating the Cin7 API application, the paste, and explaining the preview. Follow it where this skill says so.

What the merchant needs ready

  • A Cin7 login that can reach Integrations (Core) or is an administrator (Omni), to create the read-only API application.
  • A Manifold account, or ten minutes to make one (https://admin.getmanifold.io/signup?source=agent).
  • The Manifold connector in this client, connected with "Everything I can do" (manifold-onboarding skill, step 2).
  • A rough count of their products and locations, so you can tell whether the preview looks right.

Never

  • Never ask for, read out, store or type the Cin7 key, the account id or any other credential. The merchant pastes them into Manifold's own form. There is no tool that starts a migration, by design: a key must never pass through this conversation.
  • Never change anything in Cin7 beyond creating the one API application, and only on their word.
  • Never apply a migration they have not seen previewed.
  • Never start a second migration into the same organization (the opening stock would arrive twice), unless the first one failed before writing anything.
  • Never decide go-live, stop following Cin7, choose a plan or invite people. Those are the merchant's, in the admin.

1. Account and journey

  1. If they have no account, send them to sign up, then connect the connector to the new organization.
  2. onboarding_get_status. No journey yet: onboarding_start with source: "agent".
  3. onboarding_set_profile: ask for the business name, country, timezone and the currency their Cin7 prices are in, what they sell, whether they buy from suppliers, and their channels.
  4. onboarding_list_sources: check that their Cin7 (cin7-core or cin7-omni) is listed. The credential fields it names are what the merchant will paste, not you.

2. The migration (the merchant pastes, you do the rest)

Follow the manifold-cin7-migration skill, sections 1 to 5:

  • create the API application in Cin7;
  • open the products step, https://admin.getmanifold.io/settings/setup?step=products, and set the options with them;
  • leave Keep following this account until I go live ticked;
  • tick Order history if they want their past and open sales;
  • the merchant pastes the two values and presses Preview the migration;
  • migration_list for the newest migration, then manifold_wait on migration_get until previewed or failed;
  • explain every count and warning.

Then, on their explicit go-ahead, migration_apply. Then manifold_wait on migration_get until applied or failed, and read the reconciliation (per SKU and location, Cin7's figure against Manifold's) together.

With following on, the import becomes a link. onboarding_get_link says:

  • which system it follows;
  • its status: following, degraded (Cin7 refused the last three cycles, usually a revoked key) or ended;
  • how its recent cycles went.

On a schedule, each cycle re-reads Cin7. New products, suppliers, customers and orders arrive, and stock on hand is corrected to Cin7's figures.

  • To pick up a change now, onboarding_sync_link. onboarding_cancel_link_sync stops a cycle that is running; the link keeps following.
  • A record Manifold refused three times is set aside, and the cycle names it. Fix it in Cin7 (the next cycle sees the change), or fix what blocks it in Manifold, then sync.
  • Stopping following destroys the stored key. It is the merchant's choice, at Settings › General; there is no tool for it.

The mirror lock

While the organization is read-only and following Cin7, what Cin7 feeds is read-only in Manifold, for people and agents alike. That covers:

  • products and catalogs;
  • stock, receiving, allocations and locations;
  • sales orders and payments;
  • purchasing;
  • customers and companies.

Do not write to any of them (catalog_create_product, inventory_adjust_stock, crm_create_company …) while the link is following. Those changes are made in Cin7 and arrive with the next cycle. Manifold refuses such a write with 409 MirroredFromSource, but the lock rides on your access token: for up to 15 minutes after the import is applied, a token minted before it may still let a write through. Do not take a write that went through as permission. When one is refused, tell the merchant why instead of retrying.

What you can still set up:

  • the order pipeline (fulfillment_set_workflow);
  • the purchasing policy (purchasing_set_settings);
  • the opening stocktake's counts and costs;
  • notifications, reports and the chart of accounts.

4. The rest of setup

Hand back to the manifold-onboarding skill's checklist, step 5. The Cin7 import already did products, locations and parties; onboarding_get_status shows them done. Then:

  • Opening stocktake: inventory_start_stocktake, then inventory_stocktake_sheet with missingCost=true to find the SKUs with no cost (suggestedCostCents is the import's figure). Save the counts and costs the merchant gives you with inventory_record_stocktake_counts. While read-only it cannot be completed: going live completes it, at the last sync's figures for anything uncounted, and refuses while a SKU has no cost. Get every SKU a cost before they try.
  • Books, billing (60 days free on a card at Settings › Billing, the merchant's to start) and team, as that skill says.

5. Go-live: the handover

Going live is the owner's or an admin's decision, typed in at Settings › General. Never yours. Explain what it does, then let them decide:

  • The opening stocktake completes. The books begin that day, in Manifold and in their accounting app.
  • The link runs one last read of Cin7 (the handover). With order history on, the Cin7 sales orders still open become live orders in Manifold, holding stock. Ended ones stay as history (fulfillment_list_historical_orders).
  • The link ends, and the Cin7 key is destroyed. The mirror lock lifts: products, stock and parties are theirs to change in Manifold.
  • Manifold starts writing outward: to the store, the ledger and customers' mail.

Advise them to go live at a quiet moment, after Cin7's last orders of the day.

After going live:

  • onboarding_get_link shows ended with went-live.
  • fulfillment_list_orders shows the handed-over open orders.
  • They can delete the "Manifold migration" API application in Cin7, and should stop working orders in Cin7.

Done looks like

  • migration_get: applied, the reconciliation explained.
  • onboarding_get_status: every applying step done or skipped on their word, billing started.
  • Before go-live, onboarding_get_link is following. After it, ended, and the open orders are in Manifold.

When it goes wrong

| What you see | What it means | Next |
|---|---|---|
| migration_get failed, "refused the credentials" | The values were pasted wrong, or Omni's permissions miss a resource | The merchant starts the migration again with corrected values: the one case where a second migration is right |
| 409 MirroredFromSource | The organization is read-only and following Cin7, so that record is Cin7's | Make the change in Cin7, then onboarding_sync_link |
| onboarding_get_link degraded | Cin7 refused three cycles in a row (owners were emailed) | The merchant checks the API application in Cin7 still exists; then onboarding_sync_link |
| A cycle names records set aside | Manifold refused them three times unchanged | Fix them in Cin7, or fix the cause in Manifold, then sync |
| Go-live refused, OpeningStocktakeIncomplete | A stock SKU has neither a cost nor a cost basis | Cost it on the opening stocktake, then they try again |
| Go-live refused, PlanRequiredToGoLive | Billing is through an app with no plan approved | The merchant approves the plan at Settings › Billing |