I think I know what the issue is.
I use Swift Backup for backing up my apps to OneDrive (I have a free developer tenant that gives me 5TB). Yesterday, my tablet had a botched Magisk update and this broke the boot partition and I had to format it and restore everything. So I used Swift Backup to restore the data. However, the data that got restored were backups taken from my phone, not on my tablet. This used to be a problem in the past, where apps that are designed to work on a specific screen size and a specific Android version, would fail to work on other devices. But these days, it's fine. I don't get any app crashes or any other issues.
However, this meant that it was a 1-1 restore. When MacroDroid got restored on this tablet, it had the exact same settings and everything, including the webhook ID, which is now found on both the tablet and on the phone. Even after generating a new device ID on both, neither would work.
I'm not sure what exactly fixed it, but I tried this in ADB shell:
- Get the root user
su
- cd to /data/data
cd /data/data
- Search for the files ending with gms.appid-no-backup firstly (without really deleting it), so you can review the list of the files that will be deleted, and make sure it will not delete something wrong (usually it should not. I don't think any other useful files named like this). If you don't really care, you can skip this step.
find . -type f -name '*gms.appid-no-backup'
- Delete all the files end with gms.appid-no-backup
find . -type f -name '*gms.appid-no-backup' -delete
And then I restarted my phone. After that, it worked again. Oddly enough, before I did all this, I got a spare phone out and restored MacroDroid to it from Swift Backup, generated a new device ID and tested and it worked. That phone is running LineageOS Android 14. Not sure if it matters, or if it's just a timing issue (maybe there was indeed an issue on the backend server and it got fixed), or something.....anyway it's OK again.