Can a new "customer" be added via a workflow?

Can a new "customer" be added via a workflow?

I am setting up a database for our volunteers, and I'm wondering if it's possible to create new users in the customer portal via a workflow?

What I'm hoping for is that once people submit a volunteer application by filling out an online (published) form on our site, our admin staff can simply click a button in the report to accept this volunteer and have a workflow create a new user profile based on the email they submitted (which would send the new volunteer an invitation email to set up their password).

Is this possible?  If so, how would I go about setting it up?

Thanks!