# A single step runtime form with actions ``` prototype(Vendor.Site:Content.SingleStepFormExample) < prototype(Neos.Fusion.Form:Runtime.RuntimeForm) { namespace = "single_step_form_example" process { content = afx` ` schema { firstName = ${Form.Schema.string().isRequired()} lastName = ${Form.Schema.string().isRequired().validator('StringLength', {minimum: 6, maximum: 12})} picture = ${Form.Schema.resource().isRequired().validator('Neos\Fusion\Form\Runtime\Validation\Validator\FileTypeValidator', {allowedExtensions:['txt', 'jpg']})} birthDate = ${Form.Schema.date().isRequired()} sports = ${Form.Schema.arrayOf( Form.Schema.string() ).validator('Count', {minimum: 1, maximum: 2})} } } action { message { type = 'Neos.Fusion.Form.Runtime:Message' options.message = afx`

Thank you {data.firstName} {data.lastName}

` } email { type = 'Neos.Fusion.Form.Runtime:Email' options { senderAddress = ${q(node).property('mailFrom')} recipientAddress = ${q(node).property('mailTo')} subject = ${q(node).property('mailSubject')} text = afx`Thank you {data.firstName} {data.lastName}` html = afx`

Thank you {data.firstName} {data.lastName}

` attachments { upload = ${data.picture} } } } } } ```