Abstract: Techniques for generating interactive voice response systems are provided. Multiple interconnected general-purpose blocks can be configured for a specific IVR application. Each general purpose block can include prompts and logic for receiving input. By utilizing general-purpose blocks, complex IVR applications can be quickly and efficiently generated. Additionally, IVR applications can be upgraded and maintained during run-time.