# Weekly currency drift check on your Shopify market prices

> Every Monday at 7am, see which international products are quietly losing margin as exchange rates drift, with a suggested price for each one.

- Workflow type: agent
- Services: Open Exchange Rates, Shopify, Slack
- Categories: Operations, Finance
- Published: 2026-08-09

## What it does

- Reads your full Shopify catalogue every Monday morning, including every product variant and the price it sells at.
- Looks up today's live exchange rate for each currency you sell in and compares it to the fixed conversion rate you set for that market.
- Flags only the products where the gap has moved your margin by more than 1.5 percent, so you are not reading a wall of noise.
- Posts one Slack message grouped by market, with a suggested corrected price for every product it flags.

## What you'll need

- A Shopify store selling into international markets priced with fixed conversion rates rather than automatic ones.
- An Open Exchange Rates account. The free plan is enough.
- A Slack workspace and a channel where the weekly summary should land.
- The fixed conversion rate you set for each market and the margin you are aiming for. You enter these once when you set the workflow up.

## Prompt

Every Monday at 7am, check whether currency moves have quietly eaten the margin on my international Shopify prices. Treat this as advisory only: never write prices back to Shopify and never call any Shopify update or write operation, because I want to approve any repricing myself.

Let me declare my setup as workflow inputs, because Shopify does not reliably expose the manual conversion rate I configured for each market. I want to supply: my base currency, the list of markets I sell into with each market's currency code and the fixed conversion rate I set for it, my target margin percentage, the drift threshold as a percentage with a default of 1.5, and the Slack channel to post to.

Start by pulling my catalogue from Shopify with List Products, then use List Variants on each product to get the per-variant prices and SKUs. Page through the whole catalogue rather than stopping at the first page, and skip anything archived or in draft so I only see products that are actually live.

Then use Open Exchange Rates Get Latest Rates to fetch today's live rates. My plan is likely the free tier, which only supports a USD base and returns a 400 invalid_base error for anything else, so request the USD-based quotes and derive the cross rate for each market currency by dividing the two USD quotes. A single Get Latest Rates call covers every currency I need. Do not use Convert Amount or Get Time-Series, since those are gated to higher plans.

For each product in each market, work out the effective margin today. The storefront price in that market was set using my fixed conversion rate, so converting that same storefront price back into my base currency at today's live rate tells me what I actually realise per sale now. Compare that against what I realised when the fixed rate was set, and express the gap as a movement in margin percentage points, noting whether the drift runs against me or in my favour.

Flag only the products where the drift has moved margin by more than my threshold, 1.5 percent by default. For each flagged product, suggest a corrected price: the storefront price in that market's currency that would restore my original margin at today's live rate. Round each suggestion to a sensible retail price point rather than an exact decimal, and show the current price alongside it so the change is obvious.

Post the findings to my Slack channel using Slack Send a Message, grouped by market. Under each market heading, show the currency pair, the fixed rate I set, today's live rate, and the drift as a percentage. Below that, list the flagged products with SKU, current price, suggested price, and the margin movement. If a market has no products past the threshold, say so in a single line rather than dropping the market entirely, so I can see the check covered it. Use Slack formatting to keep the message scannable, and if nothing anywhere crossed the threshold, still post a short all-clear so I know the run happened.

## How to customize

- Change the 1.5 percent threshold to something tighter or looser depending on how thin your margins run.
- Move the run off Monday 7am to any schedule you like, for example daily during volatile stretches.
- Choose which markets are included, and send the summary to a different channel or straight to yourself.

## Example output

FX margin check · Monday 9 Feb

Eurozone (EUR)
Fixed rate 0.92 · live 0.87 · drift 5.4% against you
• Merino Crew Sweater (MCS-002) EUR 118.00 → EUR 124.00, margin down 4.1 points
• Canvas Weekender (CWK-110) EUR 165.00 → EUR 173.00, margin down 3.8 points

United Kingdom (GBP)
Fixed rate 0.79 · live 0.781 · drift 1.1% against you
Nothing past the 1.5% threshold this week.

Canada (CAD)
Fixed rate 1.35 · live 1.39 · drift 2.9% in your favour
• Trail Runner Cap (TRC-045) CAD 42.00 → CAD 40.00, margin up 2.2 points

Advisory only. No prices were changed in Shopify.

## FAQ

### Will this change my Shopify prices automatically?

No. It is advisory by design and never writes anything back to Shopify. You get a recommended price for each flagged product and you decide whether to apply it.

### Does this work if I use Shopify's automatic exchange rates?

It is built for merchants who set a fixed conversion rate per market, because those are the prices that silently drift away from the real rate. If you use automatic rates, Shopify already tracks the market for you and there is much less to catch.

### Do I need a paid Open Exchange Rates plan?

No, the free plan is enough. It quotes every currency against the US dollar, and the workflow works out the cross rates it needs from there.

### Why does it only flag some products?

Anything that has moved less than 1.5 percent is noise you would not reprice over. The message lists only what is worth acting on, and still tells you which markets came back clean so you know the check ran.

### Where does it get the fixed rate I set for each market?

You enter it once during setup, along with your target margin. Shopify does not reliably expose that setting, so the workflow asks you rather than guessing at it.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-currency-drift-check-on-your-shopify-market-prices