Search Results for 'script'
-
Search Results
-
Topic: “When did I…?” functionality
I just recently started using TapForms and this is amazing. I can’t believe this app isn’t better known. I’ve tried many different options for organizing my information (Notion, Coda, AirTable, MyBase, and many more) and none come close to the functionality I wanted or in many cases their performance was terrible. TapForms hits the right balance of capability and simplicity.

TapForms is beginning to replace multiple apps with its flexibility. One example is an app called “When did I…?”. The premise is simple, it just has a list of actions on the main screen, like “walked the dog” or “washed the car” etc… and you tap one of the rows to log that action (see screenshot above). That’s it. I was able replicate this functionality in TapForms with two tables and a script:
The first table is a list of actions which includes a field that calculates the relative time string (“1 hour ago” etc…) based on the last recorded event. This mimics the main screen of WDI. There is a one-to-many field to a history table that holds the individual history items for all actions. This is like the middle tab of WDI. The default style of entering data in a form is a bit tedious compared to WDI: I would have to select an action, select the linked field, hit “+”, tap to set the date, tap to set the date. The thing that makes WDI great is the one-tap quick logging of events like this.
As a workaround I created a script that adds a linked entry with the current datetime pre-filled, but it also takes several taps to get to scripts so I abused the ability to run scripts via URL to create a “button” on each action record. Basically, this is a URL field where the URL is a TapForms link to run a script with parameters containing the name of the action to log. With one tap I can now easily log that event (almost, I have to navigate to the action details first but this is a huge improvement). See screenshot attached for example.
Amazingly this works! Though there are a few issues.
- When navigating back and forth from the documents screen TapForms keeps trying to run whatever the last script was run when opening the document. I’m guessing the parameters from the URL are held in some state somewhere and persisting after the script is run, but not sure why it would even try running the script in the first place. Quitting and relaunching the app works around this, I suppose I should also try just opening a URL the clears the params as the last step of the script.
- The relative date string has to be manually refreshed
- I use the “mask field value” option to hide the URL itself but it seems the mask will just replace each character its masking with “.”, which for really long URLs doesn’t look great.
- The summary badge on the “history” linked field is truncated on iOS(see screenshot attached)
I imagine you already have a large backlog but here’s my feature requests for what it’s worth.
- A new “button” field type that runs a script for that specific record.
- A date format option for relative dates.
- Ability for scripts to fetch location.

One thing that WDI does is that every time you log an event it automatically tracks the current location. I wasn’t able to replicate this since scripts don’t seem to be able to fetch location data so #3 would fix that. Right now I have a script that calculates the relative date but having that be a formatting option on dates would be more flexible since it would happen whenever a call is rendered which is useful for relative dates.
But most of all, #1. This would be the most powerful addition to TapForms. Right now we can run a script on a whole form or on an individual field, but no way to run a script for a single selected record. The idea is: you would select the “button” field type and select which script for it to run, and possibly some input params. The script would run for that record only when the button is tapped. This small change could have a big impact on the type of workflows forms can be used for.