Skip to main content
After you connect your Salsify organization, the following nodes become available in Profound Agents. Use them to read product content from a Salsify Product List, improve it with other Agent nodes, write it back, and record which products are done. Every node runs against the organization you select under Salsify Organization and uses the permissions of the Salsify user that owns the API key.
New to Agents? See Getting started with Agents in the Profound Help Center.

Available nodes

List Products

Reads a page of products from one or more Salsify Product Lists. A Product List scope is always required: Profound never reads the whole Salsify organization.

Required inputs

  • Salsify Organization — Select a connected organization from the dropdown
  • Product Lists — The IDs of the Product Lists to read from

Optional inputs

Output

A JSON object with a data array of products and a metadata object with the pagination details and the total number of matching products.
Combine Product Lists with Excluded Lists to build a work queue. Read the source list and exclude the destination list, so each run returns only the products that aren’t done yet.

Build a work queue

The Salsify nodes are designed to run as a loop: each run takes a batch of products from a source list, improves the content, writes it back to Salsify, and moves the finished products to a destination list. This work queue lets one Agent improve a whole product catalog one batch at a time. Here’s an example of a work queue.
1

Create a source list and a destination list

In Salsify, create two Product Lists, for example Profound: to optimize and Profound: optimized. Add the products you want to work on to the to optimize list and leave the optimized list empty.
2

Read the source list with List Products

Add a List Products node. Enter the to optimize list ID under Product Lists and the optimized list ID under Excluded Lists, so a product that’s already finished is never read again.
3

Improve the content

Pass the products to your content nodes (such as a Prompt LLM) to rewrite the marketing copy on each product record.
4

Write the content back with Update Products

Add an Update Products node. For each product, set Product ID and the properties to update with the new copy.
5

Record the finished products with Add Products to List

Add an Add Products to List node with the optimized list ID and the product IDs from this run. This Product List in Salsify is now your progress report.
6

Clear the products from the queue with Remove Products from List

Add a Remove Products from List node with the to optimize list ID and the same product IDs. The products leave the queue but stay in Salsify.

Troubleshooting

  • Select a Salsify Organization first. The picker stays disabled until you do.
  • Enter a Sample product ID. The picker lists the properties of that one product, so use a product that carries the properties you want to write.
  • If the picker reads Available when the payload below is a list of products, the Products payload is text or a variable. Switch Data format to Raw JSON to edit it.
  • Confirm that the Product List ID is the URL segment after product_lists/ and before any query parameters (?).
  • Confirm that the list still exists in Salsify.
  • If you use Advanced Filter, check that it’s a valid Salsify filter expression.
  • Confirm the Product List ID. Two lists can have similar names.
  • Check that a Property Equality clause or an Advanced Filter doesn’t exclude every product.
  • If you added the products to the list a moment ago, wait and run the node again. Salsify applies changes asynchronously, and your List Products node may not have picked up the change yet.
Property IDs are case-sensitive. Copy the exact ID from the property picker or from a Get Product node output. If the property is new, create it in Salsify first.
A product in the batch is missing the property that holds your organization’s product ID. Add it, with a unique value, to every product in the batch.
Salsify has no record of those product IDs. Read the IDs with a List Products node and confirm they’re correct.
Reduce Page or Results per Page, or scope the read to a smaller Product List. Alternatively, build a work queue, which always reads the first page only.
Salsify updates list membership asynchronously. Wait, then run the node again.
The error tells you how many seconds remain until the limit resets. Wait, then run the Agent again. To avoid reaching rate limits, read more products per page and run fewer Salsify nodes at the same time.