An atomic web service is not enough to meet complex user needs. This need can only be fulfilled by composing web services that perform operations automatically. The result of web service composition is a workflow. To the best knowledge of the authors, in the currently available methods existing a workflow output is not used to replace a workflow input. Also, web service backup is not provided. This can cause the transaction to stop because the web service that is being accessed cannot be invoked. Therefore, the authors propose a method that can utilize a workflow output to replace an input of another workflow and provide a web service backup. The supporting techniques used are tf-idf weighting and cosine similarity. The proposed method was applied to compose web services in a SaaS Business Intelligence application. The modules in Business intelligence are run using workflows that are composed based on the similarity between input parameters and output parameters required by the user with the web service metadata provided. The experimental results show that the proposed method can successfully produce workflows whose input can be replaced by other workflows and provide appropriate web service backup.