Jason Hamilton-Mascioli is the Co-Founder and co-CEO and CTO of TestLauncher, a global service-based web and mobile software testing company.
Mock role-play with both parties at the same time (remote or in the same building). Schedule an hour session, pay for their time. This is the fastest method.
In your question, you mention "often takes several months". I would assume there is a scenario that doesn't take several months. I would focus on testing only those shorter scenarios if possible to reduce the timeframe from other types of lengthy encounters with your service.
Performing quality assurance at every stage of development is what you are after. Ideally providing automation at every level coupled with some manual checking. The upfront costs of automation sometimes are daunting but will actually save you money in the long run.
Breaking code and breaking software is how you should thing about it. This puts the responsibility into every team member (designer, developer etc). The earlier the bugs are found the greater the ROI on setting up a world-class quality assurance plan.
In short, Continuous Integration (CI) is where you are heading. Remember that CI is a set of good practices that include automation, committing many times in a short period of time, running tests, communicating all parts involved in the project, using a source code management system, using a close of the production environment to execute your tests plus others.
Without much information about your team and the philosophy in which they develop its a bit more difficult to impose any sort of framework on you without stressing some part of your process.
Most automated testing can reach any sort of test case management system that has an API or integration.
You want to be able to adjust for when integrating a CI process with test management:
1. Detail > screen shots, log files, details on the environment and other data available
2. Direction > the build server can be used to trigger the execution, manual or automated, of tests.
3. Granularity > From one test case to executing all the builds related to a certain test case in your test management tool.
Without knowing the whole process from end-to-end the above might not help. The goal is to break your software and as early as possible. Once interface is possible as the automation is generally placed as early as possible in the development cycle.
If you are referring to automating the manual testing, there are a host of tools on that front with integrations into most of the leading tools.
My team can easily advise, put together a solution and/or framework with a bit more information. I'd prefer to have a chat in order to build a true quality assurance system that doesn't expose any risk and breaks your software sooner and faster under one roof.