Skip to main content
Your agent does not know what anything costs until you tell it. The catalog is where you tell it: a product, a price, its sizes, its photo. That is where it takes the numbers from when the customer asks “how much is it?”. This guide is the full walkthrough from the screen, click by click. The examples use a made-up clothing store, Moda Sol, and its star product: the Polo oversize de algodón pima.
Where it is. Go into the dashboard at optimind.darkfunnels.ai and, in the left-hand menu, inside the Ventas (“Sales”) row, press Catálogo (“Catalog”). (If you prefer to go straight there, type optimind.darkfunnels.ai/catalog into the browser bar. The old address, /catalogo, takes you to the new one on its own.)

This is what the Catalog looks like on day one: «No products yet» and an orange button at the top right.

The dashboard interface is in Spanish, so buttons and labels are given here in English with the Spanish wording you will actually see in parentheses.

What the catalog is for

The screen itself sums it up under the title: “Your products, synced from your store or created by hand. The price comes from here; the agent never makes it up.” (If you have more than one agent that sentence changes, and it warns you that the list is trimmed to the agent you have open.) That is literal: the agent carries a written instruction to look the catalog up every time the customer asks about a product or its price, and not to make prices up. The practical consequence is simple: what is not in the catalog is what your agent does not know how to quote.
Loading it is all you have to do. There is no need to link the product to the sales playbook, or to name it in any chapter, or to switch anything else on. As soon as you save it, the agent can already find it and offer it. Two honest caveats: changes can take up to a minute to reach a conversation that is already under way, and if you tick specific sales funnels on the product, the rest stop seeing it (told in Visible and Active are not the same).

The words on this screen

Your first product, click by click

1

Press «Add product»

It is at the top right, in orange, next to another button called CSV template (Plantilla CSV). With the catalog empty you also have the same button in the middle of the screen, under “No products yet”.No new page opens. A panel slides in from the right-hand side, top to bottom, over the dimmed background. It is titled New product (Nuevo producto) — and Edit product (Editar producto) when you open one that already exists. Do not look for a “back” button: there is none, it closes with Close (Cerrar) or Cancel (Cancelar).
2

Choose what you are going to sell

The first and only thing you will see is the heading “What are you going to sell?” (“¿Qué vas a vender?”) with three cards: Physical product (Producto físico), Service (Servicio) and Info product (Infoproducto). Until you choose one, the rest of the form does not exist and the Save (Guardar) button is off: it will not let you press it.For the Moda Sol polo shirt: Physical product.

The panel starts by asking what you sell. Each card tells you what the agent will do if you choose it.

3

Give it a name and describe how it is sold

Once the type is chosen the whole form unfolds. In Title and description (Título y descripción) there is only one field with an asterisk: Name * (Nombre *). Type Polo oversize de algodón pima.The Description (Descripción) is optional, but it is not decorative: the field says so — “Details the agent can use when selling.” — and it is text the agent reads when it finds the product. It reaches the agent trimmed to around 240 characters, so put what sells in the first lines: “Peruvian pima cotton, unisex oversize cut. Machine washable. Shipping anywhere in Peru.”
The name is what the customer has to be able to say. The agent searches by the product name and by the name or the code of its variants — it does not search inside the description. Putting “polo”, “camiseta” and “remera” only in the description does not help it find the product: put them in the name.
4

Upload the photos

In Media (Medios), drag the images in or press where it says “Drag or click to upload” (“Arrastra o haz clic para subir”). Underneath it reads “PNG, JPG or WEBP. The first image is the main one.” — that is a recommendation, not a filter: the system accepts any image file, so a GIF or a HEIC also gets in.The first photo carries the Main (Principal) label; the others are removed with the ×. They cannot be reordered by dragging: to change the main one you have to remove the ones in front of it.
The photos are the only thing in this panel that does not wait for the save button. They are uploaded on the spot, and removing one deletes it from storage at that same moment. If you upload a photo and then cancel the product, the photo has already been uploaded. If you remove a photo and then cancel, the photo really has already been deleted — and on a product that already existed, its record is left pointing at a file that is no longer there until you save it again.

The form for a physical product: Type, Title and description, Media and Prices.

5

Set the price

In Prices (Precios) there are two fields: Price * (Precio *) and the currency. The currency has only two options — “PEN (S/)” and “USD ($)” — and comes set to PEN. From this screen there are no other currencies.For the polo shirt: 79 and PEN (S/). If you leave the price empty or type something that is not a number, on saving you get “Enter a valid price.” (“Pon un precio válido.”)Underneath you will see the Quantity pricing (Precios por cantidad) switch. Leave it off for now: we look at it in its own section.
6

Decide whether you keep count of stock

In Inventory (Inventario) there is a Track stock (Controlar stock) switch and a SKU field (with the example XL-25). Turn it on only if you really want the agent to stop offering what has run out — it explains it right there: “The agent warns when something runs out and does not offer what you do not have.”
Quantities are not typed here. When you turn on Track stock, Available quantity (Cantidad disponible) appears, but it is read-only: it will not let you type. Underneath, the panel itself says so — “Inventory handles it. To move it, record a movement in Inventory” — with a link to that screen. It is the most common confusion in this form.
7

Add sizes and colors, if you have them

On a physical product the block is called Variants (Variantes) and comes with the Generate variants from options (Generar variantes por opciones) button: you give it the axes (Color: black, white, sand / Size: S, M, L, XL) and it creates the combinations for you in one click, with an automatic SKU (SKU automático) if you ask for it. It takes up to 3 axes and 100 combinations.The Variants section tells the whole story.

The bottom half of the panel: Inventory with its SKU, the Variants and Availability.

8

Save — and check that it turned up in the table

The last block is Availability (Disponibilidad), with Visible in the catalog and Active switched on. Leave them like that and press Save.The product appears at the very top of the table, with its columns: producto, sku, precio, inventario, embudos, visible, origen (“product, sku, price, inventory, funnels, visible, source”) and a last one with the actions.

The saved product, with its columns. The «inventario» column says «Sin control» (Not tracked) when you do not track it.

Closing the panel throws away everything you typed, with no warning. It makes no difference whether you press Close at the top, Cancel at the bottom, or click outside the panel, on the dark area: there is no confirmation and no saved draft. The only thing that keeps your work is Save.

The three types, and how they really differ

The type is not a label: it changes which fields you see and what the agent does afterwards. Each card tells you so when you choose it. The stock-tracking notice changes too: on a physical product it talks about stock on hand, on a service about available slots (cupos disponibles) (“The agent does not offer what has run out.”) and on an info product about limited licenses or accesses. So “stock” here is not just boxes in a warehouse.
Changing the type of a product that already exists does not delete anything straight away. The panel itself says: “Changing the type hides what no longer applies. Nothing is deleted until you save.” If the change is going to remove data — turning a product that has several variants into an info product, for example — saving asks you for a two-step confirmation with the Convert and save (Convertir y guardar) button.

If you sell a course or an ebook: “Automatic delivery”

On an info product a block appears that is not in the other two, and it explains on its own what it is for: “When payment is confirmed (voucher approved), the agent sends this to the customer without you doing anything.” You have two options:
  • A file from the Library — only the files already marked as sendable for the agent you have open are offered. They are prepared in The file Library.
  • A link — it has to start with http:// or https://.
If you save with neither of the two, the product is saved anyway, but the panel warns you: “Careful: with no file and no link, the agent will not be able to deliver it on its own.” And in the list, that product is marked under its name as “Infoproducto · ⚠️ sin entrega” (“Info product · ⚠️ no delivery”). It is worth fixing: otherwise the agent can charge for something it then does not know how to deliver.

The form, block by block

Once the type is chosen, the panel shows seven blocks. Six are always the same; the seventh depends on the type and sits between Inventory and Availability.

What is really required

Not much. Three things, in this order:
  1. The type. Without it no other field is shown.
  2. Name *. If it is missing: “Name is required.” (“El nombre es obligatorio.”)
  3. Price *. If it is empty or not a number: “Enter a valid price.”
Everything else — description, photos, SKU, variants, stock, sales funnels — is optional and can be filled in later.
With “Quantity pricing” on, the required price moves. The field at the top is locked and the one you have to fill in becomes the 1 unit row of the scale. The warning changes too: it will talk to you about the price for 1 unit, not about “Enter a valid price”.
Do not leave products with a price of 0. They are saved without complaint, but afterwards they do not appear in the product dropdown when you record a sale or an order by hand: that dropdown only brings in active products whose variants cost more than zero.

Quantity pricing (wholesale)

It is the most powerful feature on this screen and the least obvious. Turn on Quantity pricing (Precios por cantidad) and you declare the exact total price for each quantity, not a percentage discount: Rows are added with + Add tier (+ Añadir tramo). And with + From N and up (price per unit) (+ De N a más (precio por unidad)) you define the open tier: from 6 and up, S/ 65 each.
The moment you turn it on, the “Price” field at the top is locked and it is renamed Price (1 unit, from the scale) (Precio (1 unidad, de la escala)). It is not a fault: the price is now typed into the 1-unit row of the table.
For the quantities that are not on your scale, the agent combines tiers and adds them up. If the customer asks for 10 polo shirts and your scale goes up to 3, it charges 3 + 3 + 3 + 1. If you prefer a clean per-unit price from a certain quantity onwards, define the open From N and up tier. There is also a Promotion with an end date (Promoción con fecha de fin), with the Valid until (Vigente hasta) field. While it is in force, that price overrides the list scale in the conversation.
The promotion does not travel to the WhatsApp catalog. In the catalog WhatsApp shows on your business profile, the list price for 1 unit is always published, never the promotional one. It is on purpose: if the promo were published, it would stay stuck there once it expired. In the chat, the promotion does apply.
The scale is only removed from this panel. Leaving its cell blank in the CSV file does not delete it: it leaves it as it was.

Variants: sizes and colors

Moda Sol sells the same polo shirt in 3 colors and 4 sizes. That is 12 variants, and there is no need to type them one by one.
1

Press «Generate variants from options»

It is in the Variants (Variantes) block.
2

Declare the axes

Color: black, white, sand. Size: S, M, L, XL. You can use up to 3 axes (color, size and, for example, sleeve).
3

Generate

The 12 combinations come out in one click. Tick Automatic SKU (SKU automático) and each one is born with its code. The cap is 100 combinations per product.
4

Adjust the prices that fall outside the norm

Each row carries its own price. If the XL costs S/ 10 more, it is changed there.
The moment the product has several variants, the “Price” and the “SKU” at the top stop being in charge. Each variant keeps its own, and what you type at the top is not saved: it only serves as the base price when generating the matrix. When you reopen the product, that field at the top shows you the cheapest of its variants.If you change the price at the top and swear it did not save, this is why. Change the price on the variant’s row.
On a service they are called “Modalidades” and they are the same thing under another name: Express consultation, Full consultation, Package of 4 sessions. They ask for a name and a price. The Slots (Cupos) are shown but not typed — same as stock, Inventory handles them. An info product does not have this block: a single presentation.

Stock: when to turn it on

Turn on “Track stock” only if you are going to record the movements. If you turn it on and never load any stock, the agent will believe you have none left. With tracking on and stock at zero, that variant reaches the agent marked as out of stock and with the instruction not to promise it — which is what the screen sums up as “The agent warns when something runs out and does not offer what you do not have.” With tracking off there is nothing that can run out: it is the right option for a service you can provide with no cap on slots, or for a product you make to order. Quantities are moved on the Inventory screen, by recording a movement. From the catalog you only declare whether the product is tracked.

Visible and Active are not the same

This is the costliest confusion on the screen. Both switches are in Availability and only one of them silences the agent.
To withdraw a product, turn off “Active”. Turning off only “Visible in the catalog” does not stop the agent from carrying on selling it over chat.

”Sales funnels that sell it”

That list only appears if your business has more than one agent. If you have one, you will not even see it. And the rule is not the one it looks like: “With none ticked, every sales funnel quotes it.”ticking nothing means “all”, not “none”.
It is an organizing rule, not a security barrier. It is there so that your wholesale agent does not quote the retailer’s products. But do not use it to hide sensitive information: if the system cannot read the assignments, it opens up instead of closing down, and the agent sees everything.
The sales funnels are saved in a second step, after the product. If that step fails you will see “The product was saved, but the sales funnels were not”: the product is fine; reopen it and tick them again. And if on saving you take the product away from the agent you have open, it warns you — “The open sales funnel no longer sells it: it drops out of this list.” — and it disappears from the table. It has not been deleted: it stopped belonging to that sales funnel.
With more than one agent, the list you see is trimmed. /catalog shows what the agent you have selected in the top bar sells, plus whatever is not assigned to any of them. The counter at the foot (“Showing N of M products”) counts already trimmed, and the CSV template you download will come out trimmed the same way. Before concluding that you lost products, switch agents in that selector.

Editing many products at once: the CSV template

To load a hundred products, or to raise the price of a whole season, the one-by-one form is no use. The CSV template (Plantilla CSV) button (next to “Add product”) opens the “Bulk-edit catalog (CSV)” (“Editar catálogo en bloque (CSV)”) box, with two numbered steps.

The «Bulk-edit catalog (CSV)» box: first you download, you edit in your spreadsheet, and then you upload.

1

Download the template

Download template (.csv) (Descargar plantilla (.csv)) button. It downloads a file with your current products, which you can open in Excel or in Google Sheets.Watch what it brings: only your own products (the ones synced from a store do not come out) and only those of the agent you have open.
2

Edit it in your spreadsheet

Change what you need and save as CSV.
3

Upload it

Choose CSV file (Elegir archivo CSV) and then Apply changes (Aplicar cambios). The cap is 500 products per upload.

The rules of the file

  • A row with an id updates the product that already exists.
  • A row without an id creates a new one… unless it repeats the handle of a product that is already there, and then it overwrites it.
  • A product that is not in the file is not touched. Deleting a product row does not delete the product.
  • But removing a variant’s row does delete that variant from the product.
What is in charge is the “handle” column, not the name. It is the grouping key that the template comes with already filled in (something like polo-oversize-de-algodon-pima- followed by a long code). If you copy a whole row to create a variation of the polo shirt and leave the handle the same, you wipe out the original product in silence.To really create: leave the id empty and put in a handle that does not exist. A row without a handle is not accepted — the file rejects it with “The handle (grouping key) is missing.”From the Add product button this does not happen: two products with the same name created there are two different products.
Two columns that do not do what they look like. Photos are not edited by CSV (only from the product editor), and the stock quantity is exported but ignored on import: you can write “40” in the sheet, upload it, and nothing will happen and you will see no error. Stock is moved in Inventory.
From the dashboard, it is the only route for duplicating a product. The screen does not know how to clone: there is no “Duplicate” button. The real route is to download the template, copy the product’s row, delete its id and change its handle, and upload it again.

How your catalog reaches the customer

There are two different routes, and it is worth not mixing them up.

1. In the conversation (the important one)

When the customer asks about a product or its price, the agent searches the catalog and answers with what it finds. It searches by the product name and by the name or the code (SKU) of its variants. Useful things to know:
  • It does not search inside the description, although it does show it to the agent (trimmed) once it has found the product.
  • It has to get at least half the words right. And the one- or two-letter words — “S”, “M”, “XL” — have to stand on their own to count.
  • It returns at most 5 products. If you have forty similar items, the agent will name a few, not the whole list.
  • The variant’s color and size help to narrow down among what it already found, not to find something that did not match by name or by code.
Translated into a recommendation: the product name has to be the name your customer would ask for it by.

2. In the native WhatsApp catalog

It is the products tab WhatsApp shows inside your business profile. It fills itself, but with conditions:
  • Your number has to be a WhatsApp Business account and be connected. If it is not, nothing is published there (and the agent carries on selling over chat all the same).
  • One entry is published per variant, not per product. That is why the 12-combination polo shirt appears 12 times.
  • Only the products that are “Active” and “Visible in the catalog” at the same time get in, and only if they have a price and a currency.
  • With quantity pricing, the 1 unit list price is published, never the promotion.
  • If you ticked sales funnels on the product, each number publishes its own. A product with no sales funnels ticked — which is the normal case — is published by all your numbers.
Deactivating or hiding also deletes it from WhatsApp. It is not left hanging there. And do not worry: only the products DarkFunnels published are touched; the ones you had created by hand in WhatsApp stay as they are.

Things you are going to need later

In the actions column of its row, press Edit (Editar). Pressing the row does not open anything — no row in this table is clickable — so if you click on it and nothing happens, it is not broken: use the action.
There is no trash can and no delete button inside the product panel. From the dashboard, the only way is to tick the checkbox on the row and press “Delete” (Eliminar) in the selection bar.
That button does not ask for confirmation and cannot be undone. One click and the product disappears with its variants; it is not archived. The only thing that does stop it is one of its variants having an open charge: then the deletion bounces back with an error.An order or a sale that has already been recorded does not stop it: the product is deleted and those records are left not knowing which variant was sold. That is why, almost always, what you want is Deactivate, not Delete.
Two tools work: the search box “Search products…” (“Buscar productos…”) (it searches by product name and by the SKU of its variants; it does not search the description) and the Filter (Filtrar) button, which opens “Filter catalog” (“Filtrar catálogo”) with three filters: Type (Tipo), Visibility (Visibilidad) (Visible / Hidden) and Status (Estado) (Active / Inactive).The list loads 50 at a time as you scroll down, with no page numbers, and at the foot it says “Showing N of M products”.
Two controls on this screen do nothing today, and we would rather tell you. The Todos · Manual · Shopify (“All · Manual · Shopify”) tabs do not filter: switching tabs does not change what you see. And the Sort (Ordenar) button opens its box with “Name”, “Price”, “Inventory” and “Updated”, but the list does not change order: it always comes out from the most recent product to the oldest (the column headers do not sort either). Use the search box and Filter, which do work.
The products synced from a store are read-only. On their row you will not see Edit but Import (Importar) (“Copy to the editable catalog”), and they cannot be ticked with the checkbox or have their visible switch changed either.Import them first and then edit the copy.
Anyone invited to your business: there are no role permissions on this screen. They can create, edit, hide and also delete products, with the Delete button that does not ask for confirmation. Bear it in mind when you invite people.
So that you do not go looking for them: there are no categories, no tags, no weight, and no “was price / struck-through price”. There is no duplicate button (it is done by CSV), no undo and no trash can.

If something does not work

Your product photos sit at a public internet address. It has to be that way so that WhatsApp can show them: anyone with that link sees it, without logging into your account. And deleting the product does not delete the photo: that link carries on working. Do not upload anything here that should not be public.

The same thing, from your assistant

This section is optional and only applies if you connected Claude, ChatGPT or Codex to your business. If you work in the dashboard, you are already done.
Your assistant can read the whole catalog, load it in bulk from a file you hand it, and correct it. Reading works with the basic connection; writing does not: you have to ask for the catalog write permission in the address you connect with. It is set up ready to copy and paste in The connection URL. The rule that avoids disasters: when writing, each product is a complete row that replaces the one that was there — whatever is not sent is written empty. That is why the right order is always to read the record, change only your own bit, send it back whole and read it again to check. The system does force your hand quite a bit: it rejects incomplete rows before touching anything.
Three things that can indeed cost you dearly from the assistant.
  1. Telling it that a product has no variants when it does wipes out all of them and replaces them with a single one. It is the costliest mistake in the catalog.
  2. When updating a product with variants you have to send all of them: a variant that is not sent is deleted, and one that is sent without its identifier creates another new one and deletes the old one — the orders and the stock that pointed at it are left with no reference.
  3. A product with no identifier is looked up by name: a name equal to that of one that already exists overwrites it. Have your assistant always use the identifier when updating.
And three limits worth keeping in mind:
  • The photos are not touched from the assistant: uploading a batch does not delete or change your products’ images. They are managed in the dashboard.
  • The stock quantity is not either. Even if your assistant sends a number, it is not written: it lives in Inventory. What it can declare from outside is whether the product is stock-tracked.
  • The products synced from a store are read, not edited.
Phrases that work:
  • “List my catalog before writing anything, so as not to duplicate.”
  • “Raise the price of the Polo oversize de algodón pima to 89 soles. Read its record first and send the whole row back with that single change.”
  • “Set the Combo Verano to inactive: read its record, change only that and send the complete row back.”
  • “Open three of the ones you have just uploaded and show me the price and the currency of each variant.”
That last phrase matters. In the listing, the price you see is the cheapest among the variants and the code is the one from that same variant, so a batch that uploaded the wrong currency on a single variant can look correct from a distance.

The file Library

The photos and the PDFs the agent sends, and where the automatic deliveries come from.

The sales playbook

The script your agent uses to present and defend those prices.

Orders and metrics

What sold out of all this and how much it brought in.
Last modified on September 4, 2026