Favorable FX rate alerts in Slack
Watch your currency pairs every hour on weekdays and get a Slack ping the moment a Wise rate beats the recent average.
Build me an FX rate watcher that runs on a cron schedule hourly on weekdays during business hours (default 9am to 5pm in my local timezone). It monitors a configured list of currency pairs (for example USD to EUR, USD to GBP, GBP to INR) and pings Slack when a rate looks meaningfully better than recent history.
For each currency pair on every run:
1. Call Wise Get Exchange Rates to fetch the current live rate.
2. Call Wise Get Exchange Rates again with a historical window covering the last 30 days, and compute the trailing average plus the recent min and max from that series.
3. Compare the current rate against the trailing 30 day average. If the current rate is better than the average by at least my configured threshold (default 1 percent), proceed to step 4. Otherwise skip this pair this run.
4. Call Wise Create Quote for the example conversion size I configure per pair (for example 5,000 USD for USD to EUR) so we capture the actual fee and the total amount received in the target currency at the live rate.
5. Post a Slack message using Send a Message to my #fx-alerts channel summarizing: the currency pair, the current rate, the trailing 30 day average, the percent improvement vs. the average, the 30 day min and max, and the quote details (Wise fee and total received in the target currency). Frame the message so I can decide whether to log into Wise and convert manually.
Suppression: do not send a repeat alert for the same currency pair within a 6 hour window. Track the timestamp of the last alert per pair across runs and skip pairs that are still inside their cooldown.
Configurable inputs the user should set when starting the workflow:
- List of currency pairs to monitor (source currency, target currency).
- Example conversion size per pair, in the source currency.
- Improvement threshold percent (default 1 percent).
- Slack channel to post into (default #fx-alerts). Allow per-pair channel overrides if I want to split alerts.
- Suppression window in hours (default 6).
- Business hours window and timezone for the cron schedule.
Hard constraint: this workflow must only fetch rates, draft a quote, and send a Slack notification. It must never create a transfer, move funds, or take any action that converts money. The conversion decision stays with me and happens manually inside Wise.
Additional information
What does this prompt do?
- Checks live rates for the currency pairs you care about, once an hour during weekday business hours.
- Compares today's rate against the trailing 30 day average and only fires when the improvement clears your threshold.
- Pulls a fresh Wise quote at the conversion size you configure so you see the real fee and the amount you would actually receive.
- Posts the alert to your chosen Slack channel and stays quiet on the same pair for 6 hours so the channel does not get spammed.
What do I need to use this?
- A Wise account with API access enabled (2-step verification required).
- A Slack workspace and permission to post in the channel you want alerts to land in.
- The list of currency pairs you want to monitor, plus an example conversion size for each pair.
How can I customize it?
- Swap in your own currency pairs, conversion sizes, and improvement threshold (1 percent is a sensible default).
- Change the cadence or business hours window to match your timezone, or stretch it to overnight coverage.
- Route different pairs to different Slack channels, or replace the channel with a direct message to yourself.
Frequently asked questions
Will this actually convert my money?
How does it decide a rate is good enough?
Can I avoid getting spammed when a pair stays favorable for hours?
Can I watch more than one currency pair?
Does it only run during business hours?
Catch good exchange rates before they fade.
Connect Wise and Slack once, and Geni watches your currency pairs every hour during the workweek.