Passing additional args when triggering existing Temporal schedule

We have a workflow that takes in an argument containing a simple config that governs how the workflow operates. This workflow is run on a schedule. We give our clients an option to trigger this workflow ad-hoc and we use ScheduleHandle.TriggerAsync() to do that.

We want to give our clients an ability to add some config modifications when doing this manual trigger, however, I cannot see an option to do that using the schedule.

Currently I have 2 options:

  1. Update the schedule and pass in the new workflow with updates config, trigger the schedule and reset the schedule back to original config
  2. Trigger a workflow with new config outside of the schedule.

There are downsides to both approaches, as I do not want to have multiple running workflows of the same type for the same client and the schedule does the work for us here.

In an ideal world, it would be great to specify a new workflow setup just for the manually triggered run, but I see that it is not currently possible.

Is there potentially a way to Signal the workflow immediately, such that the first Activity can use the value provided by that Signal to branch to a different set of logic?