Native SFTP Feed Export / Sales Channel

Many tools require an SFTP feed upload, like ChatGPT Ads.

There does not appear to be a native sales channel in Shopify for working with this.

Related: https://help.openai.com/en/articles/20001268-create-campaigns-from-product-feeds

Shopify has no native SFTP push, so that part will not appear as a sales channel. Two routes work today. A feed app can host your product feed at a URL, and the store’s public /products.json endpoint returns published products as JSON, 250 per page. If the receiving tool can fetch a feed over HTTPS on a schedule, a hosted URL replaces SFTP entirely. Where the tool strictly requires SFTP upload, you need middleware, because Shopify will not push files to your server.

There still isn’t a native Shopify SFTP sales channel. The reliable setup is a small scheduled export job:

  • Pull active, published products and variants with Shopify Admin GraphQL Bulk Operations. This handles larger catalogs better than /products.json.
  • Convert the export to the exact CSV or XML schema OpenAI requires, including stable product and variant IDs, price, availability, image URL, and product URL.
  • Run it every 6 to 24 hours using a serverless job or feed platform, then upload through SFTP.
  • Upload to a temporary filename first, then rename it after completion. This prevents the receiver from importing a half-written feed.

Shopify Flow cannot make an SFTP connection by itself. Also, avoid using the public products endpoint for this if inventory accuracy, metafields, or market-specific pricing matters.