Skip to main content

Documentation Index

Fetch the complete documentation index at: https://gwi-c45e8f9c-custom-gpt-apps.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Overview Custom GPTs let you build a dedicated ChatGPT experience that uses Spark to answer audience questions. This is useful when:
  • You want a repeatable workflow (e.g., “focus group mode”, “audience profiler mode”).
  • Add additional guardrails to ensure non-expert users get the correct data
  • You want Spark data available inside a dedicated GPT rather than only in the main ChatGPT + connector experience.

There are two ways to connect Spark to your Custom GPT:
Apps (recommended)Actions
How Spark connectsVia the GWI Spark appVia an API key stored in the GPT
Setup effortLow- no schema neededMedium- OpenAPI schema required
Best forTeams already using the Spark app in ChatgptStandalone GPTs where users won’t have the app set up
RequiresGWI Spark app connected &paid Chatgpt access (Pro, Business, Enterprise)A GWI API token and paid chatgpt access
A Custom GPT can use Apps or Actions, not both. Choose one approach when building. This page covers both. If you haven’t set up the GWI Spark app yet, see Custom connector first.

Prerequisites

You will need:
  • A GWI API token with access to Spark API
  • A ChatGPT plan that supports Custom GPTs with Actions

How to setup

Create your Custom GPT

  1. In ChatGPT, go to Explore GPTs
  2. Click Create
  3. Give it a name (e.g., “GWI Spark Focus Group – UK Gen Z Travel”)\ Image

Option 1: Custom GPT using the GWI Spark app

Prerequisites

  • The GWI Spark app must already be connected for your workspace (see Custom connector). Users will also need to have individually connected it in their own ChatGPT account before they can use this GPT.
  • A ChatGPT plan that supports Custom GPTs (Plus, Pro, Business, or Enterprise)

Enable Apps

  1. Go to the Configure tab
  2. Under Capabilities, enable Apps
  3. In the search field that appears, search for “GWI Spark”
  4. Select the GWI Spark connector from the results and click Add
  5. Do not add any Actions - a GPT uses either Apps or Actions, not both

Add instructions

In the Instructions field, tell the GPT when and how to use Spark. Example: Spark usage: Use Spark to answer specific audience questions (who they are, what they do/like, attitudes, channels). If the user asks a big/strategic task (e.g., “make a media plan”), break it into sub-questions (audience profile, interests, media habits, motivations/barriers, key messages, channel fit etc), run Spark for each, then synthesise into recommendations. One analytical goal per Spark call. Prefer multiple narrow calls over one broad call. Also add your use-case behaviour rules — how the GPT should structure responses, what extra context it should ask for, and what it should and shouldn’t do.

Test and publish

Test using the Preview panel on the right. When you’re happy, click Create to publish and share with your users. Users will need the GWI Spark app connected in their own ChatGPT account before using this GPT. If the app isn’t connected, they’ll be prompted to connect it.

Option 2: Custom GPT using Spark as an Action

Use this when you want the GPT to call Spark directly using an API key- useful for sharing with users who won’t have the Spark app set up themselves. Prerequisites
  • A GWI API token with access to Spark API
  • A ChatGPT plan that supports Custom GPTs with Actions

Add Spark as an Action

  1. Go to the GPT Configure tab
  2. Scroll to Actions
  3. Click Add action
  4. Choose Import from URL or paste a schema manually
openapi: 3.1.0
info:
  title: GWI Spark API
  description: Chat with the GWI Spark service to retrieve audience insights.
  version: 1.0.0

servers:
  - url: https://api.globalwebindex.com

paths:
  /v1/spark-api/generic:
    post:
      operationId: sparkChat
      summary: Chat with Spark
      description: Send a prompt to Spark and receive insights.
      security:
        - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SparkRequest'
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SparkResponse'

components:
  schemas:
    SparkRequest:
      type: object
      required:
        - prompt
      properties:
        prompt:
          type: string
          description: The question or instruction sent to Spark
        chat_id:
          type: string
          description: Existing Spark chat session ID (optional)
        docked_audiences:
          type: array
          items:
            type: string
          description: Optional list of audience UUIDs

    SparkResponse:
      type: object
      properties:
        message:
          type: string
        chat_id:
          type: string
        insights:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              text:
                type: string
        sources:
          type: object

  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
  • What it should look like once copied in Image

Configure Authentication (API token)

In the Action auth settings:
  • Choose API Key
  • Location: Header
  • Header name: Authorization
  • Value: your token (stored by ChatGPT as the secret) Image

Add instructions so the GPT uses Spark correctly

In your GPT’s Instructions, add guidance like:
  • When to call Spark (e.g., whenever user asks for data-backed insights)
  • Ask for missing parameters (dataset, country, audience definition)
  • Keep responses grounded: cite what the API returned; don’t invent stats
Example instruction snippet you can paste:
Spark usage: Use Spark to answer specific audience questions (who they are, what they do/like, attitudes, channels). If the user asks a big/strategic task (e.g., “make a media plan”), break it into a number of sub-questions (audience profile, interests, media habits, motivations/barriers, key messages, channel fit etc), run Spark for each, then synthesize into recommendations. One analytical goal per Spark call. Prefer multiple narrow calls over one broad call.
  • Also add your use-case behaviour rules: Once you’ve told the GPT how to use Spark, don’t forget to add instructions for how you want it to behave overall—what extra context it should ask for and how it should structure its responses for your specific workflow. Image

Testing and publishing

Once you’ve finished configuring the Custom GPT, test it using the chat panel on the right to make sure it behaves the way you intended (and is returning useful Spark-backed responses). When you’re happy with the outputs, click Create (top right) to publish it, then share it with the users you want to test and use it. Image

Troubleshooting

Import from URL doesn’t work

  • Use Paste schema instead
  • Or ensure the schema URL is publicly accessible and returns valid OpenAPI YAML/JSON

401 Unauthorized

  • The token is missing/invalid
  • The token doesn’t have Spark access
  • The header format is wrong (Authorization vs Bearer …)