"Hands? Where we're going, we don't need hands!" – Adam Royle, allegedly
siri.mp4
It uses Shortcuts to imitate the actions you'd normally take on Wodify's mobile app. You can trigger these shortcuts with your voice, your phone's location, or even your finger if you prefer!
Of course! Tap these icons to save them to your Shortcuts app.
On setup you will be prompted to enter your Wodify login details (email and password) and some optional configuration.
They will now appear in your list of shortcuts and can then be added to your homescreen if you like.
When you first run each shortcut, you will need to allow connections to adam.royle.dev
.
Unfortunately Wodify doesn't let us take actions on your behalf without knowing your login details.
However, we take security and privacy seriously and we've taken these steps to protect your personal information.
- All data is encrypted using SSL while transmitted.
- No personal information or security tokens are stored or logged in our system.
- A truncated hash of your email is logged on each request (it looks something like
e42dc77f
). This allows tracking the number of unique users without saving your email address.
Disclaimer: Use these shortcuts at your own risk. No responsibility will be taken if your Wodify account is compromised or login details exposed.
You can create a personal automation that will sign you into the next class when you arrive at the gym. A story in pictures!







Start a discussion or send an email.
If you get an error, try again! Sometimes Wodify is slow to respond. If it's still broken the following day, open an issue or send an email.
Why certainly! Buy me a coffee online or at the gym if you know me in person.
For those who want to customise their shortcuts for a specific reason.
POST https://adam.royle.dev/wodify/workout
Params
Name | Required | |
---|---|---|
Yes | The email used to login to Wodify. | |
password | Yes | The password used to login to Wodify. |
date | Yes | The date in ISO 8601 format. |
include_warmup | No | Set to "1" to include warmup sections. Default is "0". |
include_extras | No | Set to "1" to include extras sections. Default is "0". |
include_scaled | No | Set to "1" to include scaled workouts. Default is "0". |
Example
curl https://adam.royle.dev/wodify/workout \
--data [email protected] \
--data password=YourPassword1 \
--data date=2022-09-27 \
--data include_warmup=1 \
--data include_extras=1
POST https://adam.royle.dev/wodify/all-workouts
Params
Name | Required | |
---|---|---|
Yes | The email used to login to Wodify. | |
password | Yes | The password used to login to Wodify. |
dateStart | Yes | The date in ISO 8601 format. |
dateEnd | Yes | The date in ISO 8601 format. (inclusive) |
Example
curl https://adam.royle.dev/wodify/all-workouts \
--data [email protected] \
--data password=YourPassword1 \
--data dateStart=2022-09-27 \
--data dateEnd=2022-10-01
POST https://adam.royle.dev/wodify/signin
Params
Name | Required | |
---|---|---|
Yes | The email used to login to Wodify. | |
password | Yes | The password used to login to Wodify. |
date | Yes | The date in ISO 8601 format. |
include_class | No | Exclude classes without a matching title. Case-insensitive. Allows partial matches. Multiple supported with duplicate param or separated by a newline. |
exclude_class | No | Exclude classes with a matching title. Case-insensitive. Allows partial matches. Multiple supported with duplicate param or separated by a newline. |
Example
curl https://adam.royle.dev/wodify/signin \
--data [email protected] \
--data password=YourPassword1 \
--data date=2022-09-27 \
--data include_class=crossfit
As this projects uses TypeScript and ESM, you need to use tsm
instead of node
directly. It will generate some warnings but these can be ignored.
tsm scripts/login.ts [email protected] YourPassword1 2022-08-23
This project uses the serverless framework to deploy AWS Lambda functions.
Assuming you have installed awscli
and are logged in, you should be able to deploy these functions to your AWS account.
git clone https://github.com/adamroyle/wodify-shortcuts
cd wodify-shortcuts
yarn
yarn sls deploy