Workflow systems provide a convenient means of specifying distributed data and computing control dependencies amongst services. However, typical workflow system require a centralized management entity to coordinate the flow. In this paper, we explore the notion of fully decentralized workflows, composed using microservices. To this end, we take the approach of exposing service descriptions that have self learning properties wherein services are capable of learning which workflows they can participate in. In addition, we enable matching services to offer themselves up based on best utility, in terms of cost of transaction (processing power), cost of data access and, in coalition environments, security policy.