@dbarnett off the cuff, I would think the best way to ensure that certain code can only run once would be to put the processing code in a scheduled script, with a single deployment, then have the Suitlet button try to submit a task to run that scheduled script