Use Case - Automated RfP Response Preparation
October 6, 2025
A common use case for many sales organizations is the preparation of RfP (Request for Proposal) responses. This is a time consuming task where many small questions must be answered. However, for specialized vendors, questions and answers repeat over time with slight variations. So how can you automated the answering process easily with our RheinInsights Retrieval Suite?
System Architecture
We suppose that proposals as responses to RfPs in the past are versioned in an IT system, for instance in Google Drive or SharePoint. With our Retrieval Suite, you can easily index these documents into a (vector) search engine, for instance OpenSearch, Apache Solr or similar.
Once a new RfP comes in, the respective questionnaire is parsed by a workflow engine or a script. The workflow issues individual post requests against the REST endpoints of the Retrieval Suite and writes the generated answers back into the questionnaire.
SharePoint and PowerAutomate Flow as Example
The easiest possible approach to implement the parsing and write back functionality is via PowerAutomate Flow.
The workflow is bound to a certain document library in SharePoint Online. If it is manually triggered for an Excel file, it scans the included tables for a column called “Frage” (question). The table must furthermore contain a column “Antwort” (answer) where the answer will be written back to. Then row by row each value in question is sent to the RheinInsights Retrieval Suite for answering. The response JSON is parsed and written back to the Excel.
The overall workflow is:

The steps are the following
Trigger
This triggers the workflow, i.e., it is a manual action associated to a given document library in SharePoint Online. Then within the library the flow can be manually triggered.

Get Tables
This step lists the tables in the given Excel file. A table is not raw data but must be a formatted table.

Loop Over the Tables in the Excel file
Get tables produces an array and you need to loop over the individual tables as follows.

Iterate Over the Rows
First you fetch the rows.

Then you iterate over each row with another for each.

Decide to Query the Retrieval Suite Endpoint or Not
If there is no content in the Question column, you can skip further actions on this row.

Then you issue a simple http POST request against the Retrieval Suite as follows.

The json input looks like
{ "query": "@{items('For_each_row')['Frage']}", "start": 0, "resultListId": 4, "activeFilters": [], "verticalId": 0 }
Parse RheinInsights Retrieval Suite Response
The response needs to be parsed afterwards. The schema can be generated based on an example response.

Write Back to Excel
Unfortunately, before writing values back to Excel, you need to create a JSON which comprises key and values. Where the key “Antwort” tells the write back in which column of the row the value needs to written.

And this is the write back step.

Conclusion
The combination of a simple PowerAutomate Flow with our RheinInsights Retrieval Suite is a powerful tool for sales and business developers. It simplifies the answering of an RfP based on answers which were given in the past. The ingredients are our enterprise search connectors, a vector search engine and our RAG pipelines together with PowerAutomate or a script which fetches the questions and writes back the answers.