Narval is a framework dedicated to the setting up of intelligent personal assistants (IPAs). It includes a language, an interpreter, and a GUI/IDE. It is based on artificial intelligence and agent technologies. It executes recipes (sequences of actions) to perform tasks. It is easy to specify new actions using XML and to implement them using Python. Recipes can be constructed graphically (without programming) by linking blocks representing the actions.