Developing believable and realistic characters for interactive, computer-based forms of entertainment is a hard work. To make them perform specific tasks or take initiatives given a narrative is even more challenging. In this paper we introduce a novel agent design approach that reconciles autonomy with instructability and narrative in one agent architecture. The approach is based on a highly developed logical theory of action and a powerful high-level behaviour specification language (BSL) that is developed from the underlying logical formalism, i.e. the event calculus. Using BSL, agents’ behaviours can be specified and controlled more naturally and intuitively, more succinctly and at a much higher level of abstraction than would otherwise be possible. We also briefly discuss the implementation issues relevant to this approach.