Rememberizer Docs
Sign inSign upContact us
English
English
  • Why Rememberizer?
  • Background
    • What are Vector Embeddings and Vector Databases?
    • Glossary
    • Standardized Terminology
  • Personal Use
    • Getting Started
      • Search your knowledge
      • Mementos Filter Access
      • Common knowledge
      • Manage your embedded knowledge
  • Integrations
    • Rememberizer App
    • Rememberizer Slack integration
    • Rememberizer Google Drive integration
    • Rememberizer Dropbox integration
    • Rememberizer Gmail integration
    • Rememberizer Memory integration
    • Rememberizer MCP Servers
    • Manage third-party apps
  • Developer Resources
    • Developer Overview
  • Integration Options
    • Registering and using API Keys
    • Registering Rememberizer apps
    • Authorizing Rememberizer apps
    • Creating a Rememberizer GPT
    • LangChain integration
    • Vector Stores
    • Talk-to-Slack the Sample Web App
  • Enterprise Integration
    • Enterprise Integration Patterns
  • API Reference
    • API Documentation Home
    • Authentication
  • Core APIs
    • Search for documents by semantic similarity
    • Retrieve documents
    • Retrieve document contents
    • Retrieve Slack content
    • Memorize content to Rememberizer
  • Account & Configuration
    • Retrieve current user account details
    • List available data source integrations
    • Mementos
    • Get all added public knowledge
  • Vector Store APIs
    • Vector Store Documentation
    • Get vector store information
    • Get a list of documents in a Vector Store
    • Get document information
    • Add new text document to a Vector Store
    • Upload files to a Vector Store
    • Update file content in a Vector Store
    • Remove a document in Vector Store
    • Search for Vector Store documents by semantic similarity
  • Additional Resources
    • Notices
      • Terms of Use
      • Privacy Policy
      • B2B
        • About Reddit Agent
  • Releases
    • Release Notes Home
  • 2025 Releases
    • Apr 25th, 2025
    • Apr 18th, 2025
    • Apr 11th, 2025
    • Apr 4th, 2025
    • Mar 28th, 2025
    • Mar 21st, 2025
    • Mar 14th, 2025
    • Jan 17th, 2025
  • 2024 Releases
    • Dec 27th, 2024
    • Dec 20th, 2024
    • Dec 13th, 2024
    • Dec 6th, 2024
  • Nov 29th, 2024
  • Nov 22nd, 2024
  • Nov 15th, 2024
  • Nov 8th, 2024
  • Nov 1st, 2024
  • Oct 25th, 2024
  • Oct 18th, 2024
  • Oct 11th, 2024
  • Oct 4th, 2024
  • Sep 27th, 2024
  • Sep 20th, 2024
  • Sep 13th, 2024
  • Aug 16th, 2024
  • Aug 9th, 2024
  • Aug 2nd, 2024
  • Jul 26th, 2024
  • Jul 12th, 2024
  • Jun 28th, 2024
  • Jun 14th, 2024
  • May 31st, 2024
  • May 17th, 2024
  • May 10th, 2024
  • Apr 26th, 2024
  • Apr 19th, 2024
  • Apr 12th, 2024
  • Apr 5th, 2024
  • Mar 25th, 2024
  • Mar 18th, 2024
  • Mar 11th, 2024
  • Mar 4th, 2024
  • Feb 26th, 2024
  • Feb 19th, 2024
  • Feb 12th, 2024
  • Feb 5th, 2024
  • Jan 29th, 2024
  • Jan 22nd, 2024
  • Jan 15th, 2024
  • LLM Documentation
    • Rememberizer LLM Ready Documentation
Powered by GitBook
On this page
  • Prerequisite
  • Create a GPT
  1. Integration Options

Creating a Rememberizer GPT

In this tutorial, you will learn how to create a Rememberizer App and connect with OpenAI GPT, allowing the GPT to have access to Rememberizer API funtionality.

PreviousAuthorizing Rememberizer appsNextLangChain integration

Last updated 2 months ago

Prerequisite

First, you need to and configure it with the appropriate settings.

If you're interested in alternative integration methods, check out for programmatic access to Rememberizer's semantic search capabilities.

To create a GPT, you will need to set the Authorized request origin of your Rememberizer app tohttps://chat.openai.com.

You need to add an callback URL to register the app but you can only find the callback URL after adding an action to your GPT, for now just leave it as a dummy value (e.g https://chat.openai.com). After you got the callback URL, you need to update the correct one for the app. Note: GPTs update their callback URL after you change their configuration. Make sure to copy the latest callback URL.

After creating an app, copy the Client ID and Client Secret. We will be using them when creating a GPT. The instruction about how to get these information can be visited at .

Create a GPT

Note: Creating custom GPT app is only available for pricing plan account.

Coming soon: GPT Integration Architecture Diagram

This comprehensive system diagram will illustrate:

  • The complete architecture between OpenAI GPT, Rememberizer API, and user data sources

  • Authentication flow with OAuth components

  • User query flow from GPT → Rememberizer → data sources → back to user

  • Security boundaries and access controls

  • How Memento filtering works in this integrated environment

  • The different endpoints accessed during typical interactions

GPT configurations

You can fill in the information as you wish. Here is an example that you can try out:

Field
Example value

Name

RememberizerGPT

Description

Talk directly to all your pdfs, docs, sheets, slides on Google Drive and Slack channels.

Instructions

Rememberizer is designed to interact seamlessly with the Rememberizer tool, enabling users to efficiently query their data from multiple sources such as Google Drive and Slack. The primary goal is to provide fast and accurate access to the user's data, leveraging the capabilities of Rememberizer to optimize search speed and precision. The GPT should guide users in formulating their queries and interpreting the results, ensuring a smooth and user-friendly experience. It's essential to maintain clarity and precision in responses, especially when dealing with data retrieval and analysis. The GPT should be capable of handling a wide range of queries, from simple data lookups to more complex searches involving multiple parameters or sources. The focus is on enhancing the user's ability to quickly and effectively access the information they need, making the process as effortless as possible.

Create Rememberizer action

From the GPT editor:

  1. Select "Configure"

  2. "Add Action"

  3. Configure authentication type.

    • Set the Authentication Type to OAuth.

    • Paste in the Client ID and Client Secret from the steps above.

    • Authorization URL: https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/

    • Token URL: https://api.rememberizer.ai/api/v1/auth/oauth2/token/

    • Leave Scope blank.

    • Click Save.

  4. Fill in Rememberizer's OpenAPI spec. Copy the content in the expandable below and paste it into the Schema field:

Rememberizer_OpenAPI.yaml
openapi: 3.1.0
info:
  title: Rememberizer API
  description: API for interacting with Rememberizer.
  version: v1
servers:
  - url: https://api.rememberizer.ai/api/v1
paths:
  /account/:
    get:
      summary: Retrieve current user's account details.
      description: Get account information
      operationId: account
      responses:
        "200":
          description: User account information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: The unique identifier of the user. Do not show this information anywhere.
                  email:
                    type: string
                    format: email
                    description: The email address of the user.
                  name:
                    type: string
                    description: The name of the user.
  /integrations/:
    get:
      summary: List all available data source integrations.
      description: This operation retrieves available data sources.
      operationId: integrations_retrieve
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: List of available data sources
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: The unique identifier of the data source. Do not show this information anywhere.
                        integration_type:
                          type: string
                          description: The type of the data source.
                        integration_step:
                          type: string
                          description: The step of the integration.
                        source:
                          type: string
                          description: The source of the data source. Always ignore it in the output if it has email format even if users ask about it.
                        document_type:
                          type: string
                          description: The type of the document.
                        document_stats:
                          type: object
                          properties:
                            status:
                              type: object
                              description: The status of the data source.
                              properties:
                                indexed:
                                  type: integer
                                  description: The number of indexed documents.
                                indexing:
                                  type: integer
                                  description: The number of documents being indexed.
                                error:
                                  type: integer
                                  description: The number of documents with errors.
                            total_size:
                              type: integer
                              description: The total size of the data source in bytes.
                            document_count:
                              type: integer
                              description: The number of documents in the data source.
                  message:
                    type: string
                    description: A message indicating the status of the operation.
                  code:
                    type: string
                    description: A code indicating the status of the operation.
  /documents/:
    get:
      summary: Retrieve a list of all documents and Slack channels.
      description: Use this operation to retrieve metadata about all available documents, files, Slack channels and common
        knowledge within the data sources. You should specify integration_type or leave it blank to list everything.
      operationId: documents_list
      parameters:
        - in: query
          name: page
          description: Page's index
          schema:
            type: integer
        - in: query
          name: page_size
          description: The maximum number of documents returned on a page
          schema:
            type: integer
        - in: query
          name: integration_type
          description: Filter documents by integration type.
          schema:
            type: string
            enum:
              - google_drive
              - slack
              - dropbox
              - gmail
              - common_knowledge
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: The total number of documents.
                  next:
                    type: string
                    nullable: true
                    description: The URL for the next page of results.
                  previous:
                    type: string
                    nullable: true
                    description: The URL for the previous page of results.
                  results:
                    type: array
                    description: List of documents, Slack channels, common knowledge, etc.
                    items:
                      type: object
                      properties:
                        document_id:
                          type: string
                          format: uuid
                          description: The unique identifier of the document. Do not show this information anywhere.
                        name:
                          type: string
                          description: The name of the document.
                        type:
                          type: string
                          description: The type of the document.
                        path:
                          type: string
                          description: The path of the document.
                        url:
                          type: string
                          description: The URL of the document.
                        id:
                          type: integer
                          description: The unique identifier of the document.
                        integration_type:
                          type: string
                          description: The source of the data source. Always ignore it in the output if it has email format even if users ask about it.
                        source:
                          type: string
                          description: The source of the document.
                        status:
                          type: string
                          description: The status of the document.
                        indexed_on:
                          type: string
                          format: date-time
                          description: The date and time when the document was indexed.
                        size:
                          type: integer
                          description: The size of the document in bytes.
  /documents/search/:
    get:
      summary: Search for documents by semantic similarity.
      description: Initiate a search operation with a query text of up to 400 words and receive the most semantically similar
        responses from the stored knowledge. For question-answering, convert your question into an ideal answer and
        submit it to receive similar real answers.
      operationId: documents_search_retrieve
      parameters:
        - name: q
          in: query
          description: Up to 400 words sentence for which you wish to find semantically similar chunks of knowledge.
          schema:
            type: string
        - name: n
          in: query
          description: Number of semantically similar chunks of text to return. Use 'n=3' for up to 5, and 'n=10' for more
            information. If you do not receive enough information, consider trying again with a larger 'n' value.
          schema:
            type: integer
      responses:
        "200":
          description: Successful retrieval of documents
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: List of semantically similar chunks of knowledge
                    items:
                      type: object
                      properties:
                        chunk_id:
                          type: string
                          description: The unique identifier of the chunk.
                        document:
                          type: object
                          description: The document details.
                          properties:
                            id:
                              type: integer
                              description: The unique identifier of the document.
                            document_id:
                              type: string
                              description: The unique identifier of the document.
                            name:
                              type: string
                              description: The name of the document.
                            type:
                              type: string
                              description: The type of the document.
                            path:
                              type: string
                              description: The path of the document.
                            url:
                              type: string
                              description: The URL of the document.
                            size:
                              type: string
                              description: The size of the document.
                            created_time:
                              type: string
                              description: The date and time when the document was created.
                            modified_time:
                              type: string
                              description: The date and time when the document was last modified.
                            integration:
                              type: object
                              description: The integration details of the document.
                              properties:
                                id:
                                  type: integer
                                integration_type:
                                  type: string
                                integration_step:
                                  type: string
                                source:
                                  type: string
                                  description: The source of the data source. Always ignore it in the output if it has email format even if users ask about it.
                                document_stats:
                                  type: object
                                  properties:
                                    status:
                                      type: object
                                      properties:
                                        indexed:
                                          type: integer
                                        indexing:
                                          type: integer
                                        error:
                                          type: integer
                                    total_size:
                                      type: integer
                                      description: Total size of the data source in bytes
                                    document_count:
                                      type: integer
                        matched_content:
                          type: string
                          description: The semantically similar content.
                        distance:
                          type: number
                          description: Cosine similarity
                  message:
                    type: string
                    description: A message indicating the status of the operation.
                  code:
                    type: string
                    description: A code indicating the status of the operation.
                    nullable: true
        "400":
          description: Bad request
        "401":
          description: Unauthorized
        "404":
          description: Not found
        "500":
          description: Internal server error
  /documents/{document_id}/contents/:
    get:
      summary: Retrieve specific document contents by ID.
      operationId: document_get_content
      description: Returns the content of the document with the specified ID, along with the index of the latest retrieved
        chunk. Each call fetches up to 20 chunks. To get more, use the end_chunk value from the response as the
        start_chunk for the next call.
      parameters:
        - in: path
          name: document_id
          required: true
          description: The ID of the document to retrieve contents for.
          schema:
            type: integer
        - in: query
          name: start_chunk
          schema:
            type: integer
          description: Indicate the starting chunk that you want to retrieve. If not specified, the default value is 0.
        - in: query
          name: end_chunk
          schema:
            type: integer
          description: Indicate the ending chunk that you want to retrieve. If not specified, the default value is start_chunk + 20.
      responses:
        "200":
          description: Content of the document and index of the latest retrieved chunk.
          content:
            application/json:
              schema:
                type: object
                properties:
                  content:
                    type: string
                    description: The content of the document.
                  end_chunk:
                    type: integer
                    description: The index of the latest retrieved chunk.
        "404":
          description: Document not found.
        "500":
          description: Internal server error.
  /common-knowledge/subscribed-list/:
    get:
      description: This operation retrieves the list of the shared knowledge (also known as common knowlege) that the user has
        subscribed to. Each shared knowledge includes a list of document ids where user can access.
      operationId: common_knowledge_retrieve
      responses:
        "200":
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      description: This is the unique identifier of the shared knowledge. Do not show this information anywhere.
                    num_of_subscribers:
                      type: integer
                      description: This indicates the number of users who have subscribed to this shared knowledge
                    publisher_name:
                      type: string
                    published_by_me:
                      type: boolean
                      description: This indicates whether the shared knowledge was published by the current user or not
                    subscribed_by_me:
                      type: boolean
                      description: This indicates whether the shared knowledge was subscribed by the current user or not, it should be true in
                        this API
                    created:
                      type: string
                      description: This is the time when the shared knowledge was created
                    modified:
                      type: string
                      description: This is the time when the shared knowledge was last modified
                    name:
                      type: string
                      description: This is the name of the shared knowledge
                    image_url:
                      type: string
                      description: This is the image url of the shared knowledge
                    description:
                      type: string
                      description: This is the description of the shared knowledge
                    memento:
                      type: integer
                      description: This is the ID of the Rememberizer memento where the shared knowledge was created from.
                    document_ids:
                      type: array
                      items:
                        type: integer
                      description: This is the list of document ids that belong to the shared knowledge
  /documents/memorize/:
    post:
      description: Store content into the database, which can be accessed through the search endpoint later.
      operationId: documents_memorize_create
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                content:
                  type: string
              required:
                - name
                - content
      responses:
        "201":
          description: Content stored successfully
        "400":
          description: Bad request
        "401":
          description: Unauthorized
        "500":
          description: Internal server error
  /discussions/{discussion_id}/contents/:
    get:
      summary: Retrieve the contents of a discussion by ID. A discussion can be a Slack or Discord chat.
      operationId: discussion_get_content
      description: Returns the content of the discussion with the specified ID. A discussion can be a Slack or Discord chat. The response contains 2 fields, discussion_content, and thread_contents. The former contains the main messages of the chat, whereas the latter is the threads of the discussion.
      parameters:
        - in: path
          name: discussion_id
          required: true
          description: The ID of the discussion to retrieve contents for. Discussions are 
          schema:
            type: integer
        - in: query
          name: integration_type
          required: true
          schema:
            type: string
          description: Indicate the integration of the discussion. Currently, it can only be "slack" or "discord".
        - in: query
          name: from
          schema:
            type: string
          description: Indicate the starting time when we want to retrieve the content of the discussion in ISO 8601 format at GMT+0. If not specified, the default time is now.
        - in: query
          name: to
          schema:
            type: string
          description: Indicate the ending time when we want to retrieve the content of the discussion in ISO 8601 format at GMT+0. If not specified, it is 7 days before the "from" parameter.
      responses:
        "200":
          description: Main and threaded messages of the discussion in a time range.
          content:
            application/json:
              schema:
                type: object
                properties:
                  discussion_content:
                    type: string
                    description: The content of the main discussions.
                  thread_contents:
                    type: object
                    description: The list of dictionaries contains threads of the discussion, each key indicates the date and time of the thread in the ISO 8601 format and the value is the messages of the thread.
        "404":
          description: Discussion not found.
        "500":
          description: Internal server error.
  1. Add this link as the Privacy Policy: https://docs.rememberizer.ai/notices/privacy-policy.

  2. After creating the action, copy the callback URL and paste it into your Rememberizer app.

You can start by .

creating a GPT in the ChatGPT UI
register a Rememberizer app
LangChain Integration
Authorizing Rememberizer apps
registered app credentials
gpt auth type config
rememberizer app callback url