Although I have asked a very similar question, I wanted to place what I have done here to double check that it was correct too.
So, presuming that a new contact has to be created from a case before a portal user can automatically be set up and a portal account Emailed out, I have set up for this part a workflow that:
Uses Workflow Module Contacts
Runs on New Records
Repeated Runs Unticked
Run Always
Actions: 1 Create Portal User Create Record
I presume that bit is correct? How do I ensure that this only runs once when checking for a new contact as I do not want to generate a different portal account per case raised by the end user? Will this also automatically generate a portal account Email? Thanks.