The ability to automatically compose web services, and to monitor their execution, is an essential step to substantially decrease time and costs in the development, integration, and maintenance of complex services. In this paper, we exploit techniques based on the “Planning as Model Checking” approach to automatically compose web services and synthesize monitoring components. By relying on such a flexible technology, we are able to deal with the difficulties stemming from the unpredictability of external partner services, the opaqueness of their internal status, and the presence of complex behavioral requirements. We test our approach on a simple, yet realistic example; the results, though preliminary, provide a witness to the potentiality of this approach.