How can I have a function receive arguments without invoking the function that originally invoked?

I have a function that creates 3 in arguments and passes them to another function that will create a file. In the function that creates the file, I invoke the function that called the create file function so it can receive the arguments needed in order to create the file. But when I do this I basically create an infinite loop of function calling. How can I have the create file function receive arguments without invoking the function that originally did the invoking?

So you scenario is:

WF1 → 3 arguments → WF2 (create a file WF)

Correct?