Connecting Flowcase to Copilot - Integration Guide

Many of Flowcase's customers are leveraging their people and project data within Microsoft Copilot. This is enabling them to gather insights about their firm's expertise, and create proposal content faster than ever.

If you're also looking to use your Flowcase data within Copilot, we've created this guide that walks you through the complete setup process.

Prerequisites

Before starting, ensure you have:

  1. A Flowcase account
  2. A Flowcase API key
  3. Access to Microsoft PowerApps
  4. Access to Copilot Studio

Getting a Flowcase API Key

To obtain your API key, visit: https://docs.flowcase.com/authentication-security#overview--getting-an-api-key

Setting up the PowerApps Connector

Step 1:

Navigate to https://make.powerapps.com/ and click on the "...more" button to view all available data integration options.

Step 2:

Select "Discover all" from the menu options.

Step 3:

Under the Data card, locate and select "Custom connectors." Pin this option to your left-hand menu for easy access later.

Configuring the Connector

Click "New custom connector" in the top right corner and select "Create from blank."

Naming Your Connector

Give your connector a name. While "Flowcase" works, consider using something more descriptive if you plan to create multiple connectors.

Cleaning Data for Better LLM Results (Optional)

Note: If you skip this step, you may quickly exceed the context limit in the LLM-generated answers. However, if you plan to display results as cards instead of using the LLM to answer queries, this step might not be necessary.

Under the Code tab, you can add custom code to process the JSON output from Flowcase and filter out unnecessary data. For detailed information about the API response structure, visit: https://docs.flowcase.com/cvs-resume#overview--search-cv-résumé

Toggle the Swagger editor and paste the following code (replacing <subdomain> with your Flowcase subdomain):

swagger: '2.0'
info:
  title: Default title
  description: Flowcase search for users by query
  version: '1.0'
host: <subdomain>.flowcase.com
basePath: /
schemes:
  - https
consumes: []
produces: []
paths:
  /api/v4/search:
    post:
      responses:
        default:
          description: default
          schema:
            type: object
            properties:
              cvs:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: name
                    email:
                      type: string
                      description: email
                    url:
                      type: string
                      description: url
                    results:
                      type: array
                      items: {}
                      description: results
                    title:
                      type: string
                      description: title
                description: cvs
      summary: Search for users in flowcase
      description: Search for users in flowcase
      operationId: freetext_search
      parameters:
        - name: body
          in: body
          required: false
          schema:
            type: object
            properties:
              size:
                type: integer
                format: int32
                description: size
                default: 1000
              must:
                type: array
                items:
                  type: object
                  properties:
                    query:
                      type: object
                      properties:
                        value:
                          type: string
                          description: value
                      description: query
                description: must
			should:
                type: array
                items:
                  type: object
                  properties:
                    query:
                      type: object
                      properties:
                        value:
                          type: string
                          description: value
                      description: query
                description: should
      x-ms-openai-data:
        openai-enabled: false
        operations:
          - operationId: freetext_search
            x-ms-require-user-confirmation: true
definitions: {}
parameters: {}
responses:
  default:
    description: default
    schema:
      type: object
      properties:
        cvs:
          type: array
          items:
            type: object
            properties:
              cv:
                type: object
                properties:
                  title:
                    type: string
                    description: title
                  email:
                    type: string
                    description: email
                  name:
                    type: string
                    description: name
                description: cv
              preview_url:
                type: string
                description: preview_url
              highlight:
                type: string
                description: highlight
          description: cvs
        total:
          type: integer
          format: int32
          description: total
securityDefinitions:
  api_key:
    type: apiKey
    in: header
    name: Authorization
security:
  - api_key: []
tags: []

Testing Your Connector

Click "New connection" and add your API key in the format: Bearer API_KEY. Add a query value in the freetext_search box

After creating the key, you'll be redirected to your connections. To test you have to navigate back to Custom connectors.

If your query returns JSON with CVs, your setup is successful!

Copilot Studio Integration

Setting Up Actions

Navigate to Copilot Studio and open either your agent or the main Copilot 365 instance. Go to the Actions page and click "Add an Action"

Search for the connector name you created earlier and select your connector from the results

If you completed the test step earlier, you should already have an authentication profile available by selecting the three dots on the right. If not, set it up in the format Bearer API_TOKEN

Decide whether authentication should be top-level or individual to Copilot users.

Set the "must" inputs as dynamic to allow the LLM to choose what to fill. The "size" parameter can be either hardcoded or set on a request basis

Click the "Add action" button to complete the setup

Test your action using the panel on the right side

Conclusion

This integration process can be customized to determine what data you want available in your agent. We're excited to see how you use our API with Copilot integrations!

For questions, feedback about this guide, or to showcase what you've built, contact us at techsupport@flowcase.com.

Keep reading

Streamlining Irish Procurement Forms: How to Automate Appendix B3 and D1 in the SAQ

Sales and Marketing

Connecting Flowcase to Copilot - Integration Guide

Technical

How HR Can Understand & Unlock Potential In Professional Services

Productivity