Skip to main content

Substitute finder

With one click on a quote, this agent finds a replacement for every line that cannot be delivered as quoted. You pick one per line and the agent swaps it into the quote, so you keep the sale.

Check two things after a swap
  • The quantity. It is copied from the old line. A 6-pack that replaces 10 bottles gets quantity 10.
  • The price. A price you typed on the old line is not kept. The new line gets the price of this customer.
In short
Where you use itOn a quote in the Sales Hub, behind the Workflows button
StartsWith a click on the agent. You answer in the same dialog
Changes in PropellerReplaces lines of the quote and saves it, after your choice
Uses AINo. Fixed rules rank the replacements
TextsEnglish, Dutch or French: a setting, or the language of the button label that was clicked
Runs in n8nOne per click and one per answer
DifficultyMedium. You check the product statuses and the stock setting

What you get​

Per line up to 3 replacements, each with the price for this customer, the difference with the current line, the stock and the reason it was chosen.

The AI Agents dialog on a quote where one line has too little stock, with two suggested substitutes that each show the price, the price difference, the stock and why it was chosen

Answer 1a to take the first replacement for line 1, or 1a 2b for two lines. Yes takes the first replacement for every line. No leaves the quote as it is.

The new line takes the place of the old one, with a note that says which product it replaces. The note is part of the quote, so it is in the language of the quote, also when the agent answers you in another language. Reload the page in your browser to see it.

What you need​

  • An n8n account with the credential Propeller API key. See Set up n8n.
  • An API key with Viewer access on Product Data and Editor access on Order Data.
  • Backoffice access and the Configuration role with Owner access, to register the agent.

How it works​

A line needs a replacement when its product has the status Not available, Phase out or Out of stock, cannot be ordered or has less stock than the quantity on the line.

The agent looks in four places: the Alternatives of the product, its cluster, its category and its brand. It searches as the contact of the quote, so the order lists and prices of that customer count. A replacement is always available, can be ordered and has a price for this customer.

A product you set as an Alternative comes first. See Create and edit a product.

Good to know

The workflows and agents in the Agent Hub are free to use and adapt. They are examples, not supported product features. Test them in a test environment and check the results before you use them on real customers.

Install it​

Install a workflow from the library explains each step.

  1. Import the file into n8n.
  2. Check that the four nodes that talk to Propeller use the credential Propeller API key.
  3. Open the Settings node. If you do not keep stock in Propeller, set CHECK_STOCK to false. Otherwise every line looks out of stock.
  4. Follow Register the agent in Propeller with the values below.
  5. Open a test quote with a line that has less stock than its quantity, click Workflows and click the agent.
FieldValue
TriggerButton
Interaction modeMulti turn, so a colleague can answer with a choice
PlacementsSales Hub · Quote editor, a quote in the editor

The agent lists the lines that need a replacement. Until you answer, nothing changes.

Make it yours​

SettingDefaultWhat it does
CHECK_STOCKtrueA line with too little stock needs a replacement, and a replacement needs enough stock
NEEDS_SUBSTITUTE_STATUSESN, P, TThe product statuses that need a replacement: Not available, Phase out and Out of stock
MAX_SUBSTITUTES3Suggestions per line
MATCH_ATTRIBUTESnullThe attributes that decide whether two products are alike. With null every attribute both products have counts
LANGUAGE'EN'The language of the answers: 'EN', 'NL' or 'FR'
ADD_LINE_NOTEtrueThe new line gets a note that says which product it replaces, in the language of the quote: English, Dutch or French. A quote in another language gets the note in LANGUAGE
LABEL_LANGUAGES{}The agent's button label in each language, for example { 'Find substitutes': 'EN', 'Vervangers zoeken': 'NL', 'Produits de remplacement': 'FR' }. A click on the button sends its label as the message. When the message is one of these labels, the answer is in that label's language. The rest of the conversation keeps that language. With {} the answer is always in LANGUAGE

Limits​

  • The suggested price is the price for one piece. The quote works out bulk prices after the swap.