A couple of things to look out for as you start writing Dialogs:
- If your Dialog has branching logic make sure you don’t use the Responses from those branches in any later actions after the branching as those Response values will not be available in those scenarios when the user branches the other way, and CRM doesn’t like that. To get around this make use of Variables within your Dialog. Initialise a Variable at the start of your Dialog, update it within your branch and then you can happily refer to the Variable later in the script.
- Beware of placing actions such as creating records and sending emails in amongst Pages of your Dialog, they’re better placed at the end of your script firing only after the user has clicked Finish in the Dialog. Reason for this is the Dialog UI happily allows users to navigate backwards and forwards within the Dialog. If you have a record creating firing between pages 4 and 5 of your script that record creation will happen not only the first time the user progresses to page 5 but if they hit previous, go back to page 4 and then progress on to page 5 again then yeap you guessed it you will get another record created.