For the complete documentation index, see llms.txt. This page is also available as Markdown.

5. Analyze an RFP

Build a conversational RFP assistant that validates inputs, runs an initial analysis, and supports grounded follow-up questions.

Challenge overview

Build a chatbot for analyzing one RFP at a time.

The user uploads an RFP, provides an 8-digit internal ID, and then asks follow-up questions grounded in that document.

Scenario

Our team receives a high volume of RFPs and needs a faster way to understand and evaluate them.

We need a chatbot that allows a user to upload a single RFP document and interact with it conversationally.

At the start of each conversation, the user should upload one RFP and provide an internal RFP ID number (an 8-digit number such as 12345678).

The chatbot should automatically run an initial analysis of the document and extract key information, including the scope of work, project context, submission requirements and timeline, evaluation criteria, and contract terms or risk factors.

The chat conversation should also be renamed to the provided RFP ID so it can be easily identified in the chat interface.

After this initial analysis, the user should be able to ask follow-up questions about the RFP and receive answers grounded in the document with clear citations.

Sample files

Required inputs

The workflow must validate two conditions before analysis starts:

  • Exactly one RFP document has been uploaded.

  • A valid 8-digit RFP ID has been provided.

Initial analysis requirements

Extract at least:

  • Scope of work

  • Project context

  • Submission requirements and timeline

  • Evaluation criteria

  • Contract terms or risk factors

Required interaction patterns

Your workflow should handle these cases:

  1. One RFP + valid ID → run analysis

  2. Not exactly one RFP + missing or invalid ID → ask for both

  3. One RFP only → ask for ID → then run analysis

  4. Valid ID only → ask for RFP → then run analysis

The workflow must accept inputs in any order.

What to build

Your workflow should:

  1. Accept chat input and file uploads.

  2. Validate that one active RFP is present.

  3. Validate that the ID is exactly eight digits.

  4. Pause and request whatever is missing.

  5. Run the initial RFP analysis.

  6. Rename the conversation to the RFP ID.

  7. Answer follow-up questions with citations.

Key considerations

  • Distinguish the initial setup step from later chat turns.

  • Decide how to persist both text and file inputs across the conversation.

  • Handle validation failures with clear instructions.

  • Keep follow-up answers grounded in the active document.

Extension

Improve the chat interface

Make the interface description explicit about the required inputs.

Use two left-aligned bullets:

  • Upload exactly one RFP document

  • Provide an 8-digit RFP ID

Support document replacement

If a new RFP is uploaded later in the same conversation:

  • Re-run analysis on the newest RFP

  • Keep using the existing RFP ID

  • Keep the conversation title unchanged

  • Treat the newest uploaded RFP as the active document

Helpful docs

Last updated

Was this helpful?