Example GPT Interaction: Stack Research Use-Case

Daniel RosehillDaniel Rosehill
20 min read

🖊️ Prompt

Me:

Hi ChatGPT!

Today I would like to devise a system for capturing ChatGPT interactions in a standardized document-based format.

Which is to say, I'd like to capture the prompts and the outputs and then format those into a PDF that could be saved in a Google Drive.

Can you think of some ways to make that happen?


Output

To capture and format ChatGPT interactions into a standardized PDF document and save it in Google Drive, you can set up an automated workflow using a combination of tools like Google Docs, Google Drive, and PDF generation services. Here's one possible solution:

Step 1: Capture the Prompts and Responses

  • Google Forms or Google Sheets: You can log each interaction (both prompts and responses) manually or automatically into a Google Sheet, with two columns: "Prompt" and "Response."

  • API Integration (Optional): If you want to automate this process, you can use Zapier or a custom API integration to send each ChatGPT interaction to Google Sheets.

Step 2: Format the Content

  • Google Docs Formatting: Once the prompts and responses are in Google Sheets, you can use a script (Google Apps Script) to create a Google Doc that organizes the prompts and responses in a readable format (e.g., bold for prompts, regular text for responses).

Step 3: Convert to PDF

  • Google Docs to PDF: After the Google Doc is generated, you can programmatically convert it to a PDF using Google Apps Script.

Example Google Apps Script:

javascript
Copy code
function convertDocToPDF(docId) {
var doc = DocumentApp.openById(docId);
var pdf = DriveApp.getFileById(docId).getAs("application/pdf");
return pdf;
}

Step 4: Save to Google Drive

  • You can create a Google Drive folder to store the PDFs and link it to your workflow. You could even set up a naming convention for each PDF (e.g., by date or conversation topic).

Step 5: Automation (Optional)

  • Zapier or Integromat: To make this process seamless, set up an automation tool like Zapier to automatically trigger the Google Docs creation and conversion to PDF whenever a new row is added in Google Sheets.

This system will ensure each ChatGPT interaction is consistently logged, formatted, converted, and stored in Google Drive. Would you like guidance on setting up any of these steps?

Me: Hmm… GPT outputs are usually formatted in markdown.
Could this system convert that into human readable text?

Yes, you can definitely convert GPT's markdown-formatted outputs into human-readable text within this system. Here's how you can integrate markdown processing into the workflow:

Step 1: Capturing the Prompts and Responses

You would still capture the ChatGPT interaction (prompt and response) as described before, but the responses will be in markdown format. To render markdown into human-readable text, you'll need to convert markdown syntax (such as headers, bullet points, and code blocks) into corresponding formatted text.

Step 2: Markdown Conversion to Human-Readable Text

You can achieve this in two ways:

Option 1: Using Google Apps Script for Markdown Parsing

  • Google Apps Script doesn't natively support markdown, but you can use a markdown parsing library (like Showdown.js) to convert markdown into HTML. Then, you can inject the HTML into a Google Doc, which will render it in a readable format.

Example Google Apps Script to convert markdown to HTML and insert into Google Docs:

javascript
Copy code
function convertMarkdownToDoc(markdownText) {
var converter = new Showdown.converter(); // Initialize markdown converter
var htmlText = converter.makeHtml(markdownText); // Convert markdown to HTML

var doc = DocumentApp.create('ChatGPT Interaction');
var body = doc.getBody();

body.appendParagraph(htmlText);

// Save and return Google Doc ID
return doc.getId();
}

This code requires adding the Showdown library for markdown to HTML conversion, and then you can work with the HTML in Google Docs.

Option 2: Third-Party Integration for Markdown Parsing

  • Zapier with Markdown to HTML Conversion: Zapier can help convert markdown to HTML or plain text using tools like Webhooks or Formatter.

  • External Tools: You can use a tool like Pandoc (a universal document converter) or Node.js to convert markdown into a human-readable format and send that data to Google Sheets or Docs.

Step 3: Formatting the Google Doc

Once the markdown is converted to HTML or plain text, you can:

  • Preserve Headers, Bold, and Lists: Use Google Apps Script to detect and apply appropriate formatting (e.g., turning # Header into a Google Docs header, bold into bold text, etc.).

  • Apply Document Styles: Ensure the final document is neatly formatted, with readable text, paragraphs, and styling based on the original markdown.

Step 4: Convert to PDF and Save in Google Drive

Once the document is formatted correctly, you can follow the previous step of converting the Google Doc to a PDF and saving it into Google Drive.

Example Workflow:

  1. Log the interaction (prompt and response) into Google Sheets.

  2. Convert markdown response to readable text (HTML) using a Google Apps Script or external tool.

  3. Insert the formatted text into a Google Doc.

  4. Convert the Google Doc into PDF.

  5. Automatically save the PDF to Google Drive.

This setup will ensure that markdown-formatted GPT outputs are converted into human-readable documents before being saved as PDFs. Would you like help setting up the markdown conversion step?

Follow-Up (1)

Me: This sounds great but complicated. Let's try simplifying the stack. I'm not picky about what the form element for capturing the interactions is. But it would be great to have only one step between capturing the outputs and generating the docs in the repository. I'm familiar with Make, Zapier, and other automation tools. Does that change anything about your recommended approach?

Since you're familiar with Make, Zapier, and other automation tools, we can definitely simplify the process significantly. Here's a streamlined approach that uses just one automation tool to handle markdown conversion, document generation, and storing the final PDFs in Google Drive:

Simplified Workflow with Make (formerly Integromat) or Zapier

  1. Capture the Interaction:

    • Use a simple form (like Google Forms or Typeform) to capture prompts and responses.

    • Alternatively, log them directly into Google Sheets. This is especially useful if you want an easy way to track and store interactions in real-time.

  2. Markdown to Human-Readable Text:

    • Use Zapier or Make to automatically convert markdown to plain text or HTML. Both tools offer markdown formatting functions via their built-in Formatter utility.

    • You can use Make's Markdown to HTML or Zapier Formatter's Text to HTML feature to handle the markdown-to-readable-text conversion with a single action.

  3. Create Google Docs:

    • Once the markdown is converted, the same automation can take the formatted output and create a Google Doc using the integration options available in Make or Zapier.

    • In Zapier, for example, you'd use the Google Docs action to generate the document with formatted content (headers, bullet points, etc.).

  4. Convert Google Doc to PDF and Store in Google Drive:

    • After creating the document, use another action within the same automation flow to convert the Google Doc to PDF.

    • Then, save the PDF in Google Drive in the appropriate folder.

Key Advantages of This Approach:

  • Single Automation: Using a tool like Zapier or Make reduces the need for complex code. You can accomplish markdown conversion, document creation, and saving to Google Drive within a single workflow.

  • No Apps Script or Coding Required: You won’t need to write custom scripts as the automation platforms handle the heavy lifting.

  • Low Maintenance: Once set up, the system can run automatically without much intervention.

Example: Zapier Workflow

  1. Trigger: Google Form or Google Sheets row added (log prompt/response here).

  2. Action: Use Zapier Formatter to convert markdown to plain text or HTML.

  3. Action: Create a new Google Doc with the formatted content.

  4. Action: Export the Google Doc as a PDF.

  5. Action: Save the PDF to a specific folder in Google Drive.

Would this streamlined setup work for your needs? If you'd like, I can walk you through configuring this in Zapier or Make.

Providing Feedback & Direction

Me: I think we're getting very close! I'm wondering about how we can keep this file repository organized where it's being stored. Is there any way to attach tags or data that might make it easier to search through the outputs. What about file naming? And finally , what about creating a folder structure to organize the outputs. Could this be automated?

Memory updated

To keep your file repository organized in a searchable and structured way, we can automate several aspects such as tagging, file naming, and folder creation. Here's how you can approach each part using automation tools like Make or Zapier:

1. Tagging or Adding Metadata for Easier Searching

While Google Drive itself doesn’t natively support tagging, you can mimic tags or metadata by including specific keywords in file names or descriptions.

  • File Descriptions: You can use Zapier or Make to automatically add relevant metadata (tags or key topics) to the file description in Google Drive. For example, you can tag documents based on:

    • Topic (e.g., "Impact Investing")

    • Date of interaction

    • Specific keywords or recurring themes in the interactions

  • In Zapier or Make, after creating the Google Doc, you can use an additional step to update the file metadata with tags based on the prompt content.

2. File Naming Conventions

To ensure your files are easy to identify, you can set up automated naming conventions in your workflows. Here are a few examples of how you can name the files:

  • YYYY-MM-DD_PromptSnippet_Topic.pdf: This format includes the date, a snippet of the prompt for identification, and optionally a key topic.

  • Topic_ClientName_InteractionType.pdf: If relevant, include client names or interaction types (e.g., "Email Response," "Support Query").

Automation tools allow dynamic file naming based on the content of the interaction or metadata in the Google Sheet. For instance, when creating the PDF, you could dynamically generate the name like this:

  • Trigger: Capture prompt data

  • Action: Use specific data (date, keywords, etc.) to create a unique, meaningful file name

  • Example: If the topic is about "Impact Accounting," the filename could be: 2024-09-10_Impact_Accounting.pdf

3. Folder Structure for Organization

You can automate the creation of a folder structure in Google Drive based on any criteria you choose:

  • Date-Based Folders: Automatically create folders by year and month to organize outputs chronologically.

  • Topic-Based Folders: If your prompts are frequently categorized by topics, you can create folders for each major topic and store relevant PDFs there.

  • Client or Project-Based Folders: If the outputs relate to different clients or projects, you could automatically create and organize files into folders for each client or project.

Automation Example in Zapier:

  1. Create a New Folder: If a folder doesn't exist for a certain topic, client, or date, Zapier or Make can automatically create one using the Google Drive "Create Folder" action.

  2. Move or Save File into Folder: After creating the document, Zapier or Make can move or save the PDF into the appropriate folder.

4. Search Optimization

To make searching even easier:

  • File Description: Add metadata or tags into the description field.

  • Google Drive Search: Google Drive’s native search can locate files based on content inside the documents and their filenames, so including specific keywords or themes in the filename or content will aid in searchability.

Automated Workflow Example:

  1. Trigger: New prompt and response interaction logged in Google Sheets.

  2. Action: Convert markdown to human-readable text.

  3. Action: Create a Google Doc with formatted content.

  4. Action: Automatically generate a folder based on the topic or date.

  5. Action: Name the file dynamically based on key content (e.g., topic, prompt snippet).

  6. Action: Add tags or metadata to the Google Doc or PDF file description.

  7. Action: Convert Google Doc to PDF and save in the corresponding folder.

This approach will give you a structured, searchable, and automated document repository with organized filenames and folder structures. Does this workflow fit your needs?

Me: This is great. Can you think of any additional tweaks to make the system user-friendly but powerful? The objective is to make sure that useful GPT outputs are captured and searchable.

I'm glad this approach resonates with you! Here are some additional tweaks and enhancements that can make the system both more user-friendly and powerful, ensuring valuable GPT outputs are captured, organized, and easily searchable:

1. Interactive Dashboard for Managing Outputs

  • Airtable or Notion as a Dashboard: Create a central hub using Airtable or Notion to track, tag, and search GPT outputs. You can sync this dashboard with Google Drive, so every new PDF automatically populates into a table, where you can manually or automatically tag, rate, or comment on each output.

    • Tags and Status: Add columns like “Tags,” “Priority,” and “Usefulness” to quickly filter through the most useful outputs.

    • Automated Sync: Use Make or Zapier to ensure every time a PDF is saved in Google Drive, it also appears in your Airtable or Notion dashboard with relevant metadata.

2. Flagging Important Interactions in Real-Time

  • Quick Flagging via Forms or Shortcuts: Sometimes, you may not want to capture every single interaction, but instead flag the most valuable ones. Use a simple tool like a Google Form, Airtable Form, or a Notion button to mark a conversation as "Important" and automatically send that conversation to your output workflow (file creation, naming, tagging, saving).

    • Example: If you finish a particularly valuable conversation, fill in a form that asks for a quick summary or topic. The form automatically triggers the capture, formatting, and saving of the interaction in Google Drive with a topic and tags already set.

3. Auto-Suggest Tags Based on Content

  • Natural Language Processing (NLP) for Tagging: Enhance the power of the system by integrating an NLP-based service like Google Cloud Natural Language or a similar AI service to auto-generate topic tags based on the content of the GPT output.

    • How: After the markdown output is converted, send the cleaned text to an NLP tool to identify key themes (like “impact investing,” “sustainable finance”), and use those as tags for file descriptions and metadata.

    • This ensures the content is tagged intelligently without much manual input.

4. Automatic Summary Generation

  • Summarize Each Output: Add a step where each GPT output is automatically summarized into a concise paragraph or bullet points, and include that summary in the file description or as part of the PDF itself.

    • Tools: GPT itself can generate summaries, or you could use a specialized summarization API to automate this task.

    • This summary will help with quick referencing and searching without needing to open each document.

5. File Versioning

  • Version Control for Updated Conversations: If you often revise interactions or re-engage on the same topic, build in version control. Each time a conversation is updated or revised, create a new version of the file in Google Drive and label it with a version number (e.g., V1, V2).

    • This could be automated by tracking interactions within your Google Sheets or Airtable base and triggering a new document creation with updated versioning if the same topic arises again.

6. User-Friendly Search Interface

  • Custom Search Interface via Airtable or Google Drive Add-On: Use an Airtable base or a custom Google Drive search interface to enable easier filtering and searching across topics, dates, and tags. You could embed this interface in a tool like Google Sites or Notion, creating a user-friendly front-end that allows quick searches on important topics or past GPT interactions.

    • With Airtable’s filtering and sorting features, you can search for topics based on tags or keywords within a few clicks.

7. Integration with Other Tools (e.g., Slack, Email)

  • Notify Team Members: If multiple people are involved in using or accessing GPT outputs, you can use Slack, email, or Trello integration to notify relevant team members when important outputs are captured and stored. This keeps the workflow collaborative without relying on manual tracking.

    • Example: Zapier can send a Slack message to a dedicated channel whenever a file tagged with "High Priority" is saved in Google Drive.

8. Daily/Weekly Digest

  • Digest of Outputs: Automate a daily or weekly email that summarizes key outputs, including links to the most recently generated PDFs and their summaries. This would allow you (or your team) to quickly review new content without needing to sift through the entire Drive.

    • How: Zapier can send a digest email summarizing the files created over a certain period, including key metadata like tags or summaries.

9. Folder Naming Based on Interaction Type

  • If you're working with different types of GPT outputs (e.g., brainstorming sessions, email drafts, project research), automate the folder naming to reflect this:

    • Folders for Interaction Type: Automatically create folders like "Research," "Email Drafts," or "Strategy Sessions," and sort documents into these based on the conversation's purpose.

    • This categorization will keep different types of outputs distinct and easier to locate.

10. Review and Archival System

  • Archiving Less-Useful Outputs: After a certain period, you can automatically move older or less useful outputs to an "Archive" folder to keep your active repository clean and only filled with the most relevant outputs.

    • Zapier Example: Set a rule where any file untouched for 6 months is moved to an Archive folder automatically.

Final Optimized Workflow Example:

  1. Trigger: Capture interaction with form, flagging, or automatic tracking.

  2. Markdown Conversion: Automatically convert markdown to readable text.

  3. Tagging: Use NLP to auto-tag topics or add custom tags.

  4. Filing: Create Google Doc with dynamic naming convention, and place it in the right topic/client/date folder.

  5. Summary Generation: Generate a quick summary and add it to file metadata.

  6. Versioning: If revised, create a new version of the document.

  7. Searchability: Store in Airtable or a custom search interface for fast, intuitive retrieval.

These additional features will make your system more powerful while maintaining user-friendliness, ensuring that valuable outputs are easily captured, organized, and retrievable. Would you like to implement any of these specific tweaks?

Me: Do you think Google Drive makes sense as a repository for storing the documents or do you have another suggestion?

Google Drive can be an excellent repository for storing documents, especially if you’re already using other Google Workspace tools (like Google Docs and Google Sheets) and rely on integrations with automation platforms like Zapier or Make. It offers key benefits like:

  • Ease of Use: Google Drive is familiar, user-friendly, and integrates seamlessly with many automation tools.

  • Collaboration: Google Drive is great for real-time collaboration and sharing across teams.

  • Search Capabilities: Google Drive’s native search is strong, especially if you’re storing metadata, descriptions, and keywords in documents.

Alternatives to Consider:

Depending on your needs (scalability, security, or additional features), here are a few alternatives that might offer more functionality:

1. Airtable

  • Why Consider It: Airtable’s database-like structure allows you to add tags, organize documents, and create powerful views, all with advanced search and filtering. You can easily attach files (PDFs) to records and integrate with automations.

  • Best For: If you need a more structured, database-like repository with powerful tagging and organization features. Airtable also offers more advanced filtering, sorting, and linking between documents and projects.

2. Notion

  • Why Consider It: Notion allows for robust document management with tagging, linking, and organizing in a highly customizable workspace. You can embed documents, link between projects, and organize everything in an intuitive visual format.

  • Best For: Teams who want a powerful, all-in-one workspace for managing documents, notes, and related resources, with a user-friendly interface and excellent searchability.

3. Dropbox

  • Why Consider It: Dropbox offers solid document storage with built-in document previews, good version control, and integrations for automating workflows.

  • Best For: If you prefer a more traditional cloud storage platform with a focus on file management and version control. Dropbox offers robust scalability and integrates well with most automation tools.

4. OneDrive (Microsoft 365)

  • Why Consider It: If you're in the Microsoft ecosystem, OneDrive offers strong integrations with Office apps, excellent collaboration features, and robust search tools for document retrieval.

  • Best For: Teams that use Microsoft Office and need easy integration with Word, Excel, and PowerPoint, along with a solid enterprise-level document management system.

5. Box

  • Why Consider It: Box is enterprise-focused with more advanced security features, making it a good option for organizations with strong compliance needs (e.g., data privacy, encryption). It also offers good collaboration and search capabilities.

  • Best For: Teams that prioritize security, compliance, and advanced permission management. Box works well for enterprises that need enhanced control over document access and security.

6. Confluence (Atlassian)

  • Why Consider It: Confluence is a knowledge management tool that excels at organizing documents, creating a centralized wiki, and integrating with Jira and other Atlassian tools.

  • Best For: Teams working in agile environments or those who need to maintain a knowledge base along with documents, especially if they already use Atlassian products.

Key Considerations:

  • Scalability: If you’re expecting a large volume of documents, consider a platform with advanced search, tagging, and categorization features (e.g., Airtable or Notion).

  • Security: For more advanced permission control or security needs, Box or OneDrive may be better suited.

  • Collaboration: If multiple users need to collaborate in real-time on documents, Google Drive, Notion, or Dropbox work well.

Google Drive remains a solid, general-purpose option, but if you need advanced document management (e.g., more powerful tagging, linking, or version control), alternatives like Airtable, Notion, or Box could offer more flexibility.

Do any of these alternatives stand out to you based on your needs?

Me: I think I'll stick with Google Drive for the moment. One final question. I mentioned that I will be capturing the outputs in a form. The form will preserve the basic elements of a GPT interaction, namely the prompt and the prompt output. I'd like to perhaps capture a few other datapoints like output quality assessment, rating, etc. When the form is rendered out to a document, I would like to preserve these inputs and ideally output them using a very specific template which I could periodically edit. Any thoughts on how I could achieve this?

To achieve your goal of capturing additional data points (such as quality assessment and rating) and outputting the interaction in a specific, editable template, here's a streamlined approach using Google Drive and automation tools like Zapier or Make:

Key Steps:

  1. Form Structure:

    • Design the form to capture all the relevant data points, such as:

      1. Prompt: The question or input provided to GPT.

      2. Output: GPT’s response.

      3. Quality Assessment: A dropdown or slider for rating the quality of the response.

      4. Additional Comments/Feedback: Any extra notes about the interaction.

      5. Tag or Topic: To categorize the interaction.

      6. Rating: A simple 1-5 star rating system.

  2. You could use Google Forms, Airtable Forms, or another form tool that integrates easily with Google Sheets or your automation platform.

  3. Template Creation:

Create a Google Docs template where all these data points will be rendered. The template should have placeholders for each data point. For example:


**Prompt**: {{prompt}}
**Response**: {{response}}
**Quality Assessment**: {{quality_assessment}}
**Comments**: {{comments}}
**Rating**: {{rating}}/5
    • The template can include any structure or styling (headings, bullet points, sections, etc.) you wish to enforce in the final document. The placeholders (e.g., {{prompt}}, {{response}}) can be dynamically replaced with form responses.
  1. Automate Template Population:

    • Use Make or Zapier to connect the form to Google Docs and automatically populate the template with the form inputs:

      1. Trigger: Whenever a new form submission occurs (e.g., Google Forms submits to a Google Sheet, or Airtable logs a new entry).

      2. Action: Use the Google Docs integration to create a new document based on the template you designed.

      3. Populate Placeholders: Map form responses (e.g., prompt, output, quality, rating) to the corresponding placeholders in the template.

  2. Ensure Flexibility for Template Updates:

    • Whenever you want to update the template, you can easily edit the main Google Docs template used by the automation. This way, the structure, formatting, or data points can be changed without needing to modify the automation itself.

    • If you want to maintain different versions of the template, you can automate the selection of a template based on form responses (e.g., use Template A for high-priority outputs and Template B for standard ones).

  3. Render to PDF and Save:

    • After the template is populated, the document can be automatically saved in Google Docs.

    • You can then convert it to a PDF if needed and save the output to the appropriate folder in Google Drive, following your preferred folder structure.

    • Optionally, you could also email the PDF to relevant stakeholders or store it in a shared folder for easier access.

Advanced Features for Usability:

  1. Dynamic Template Selection:

    • Based on the form responses (e.g., if a specific rating threshold is met), your automation can choose a different template. For example, higher-rated outputs could follow a more formal template, while lower-rated ones might get a simpler format.
  2. Include Conditional Formatting:

    • If the quality rating is below a certain threshold, you could add a note or comment section in the template that highlights the need for revision or improvement.

    • Use formatting (bold, color-coding) in the final document to highlight important fields such as high or low ratings.

  3. Editable Output:

    • After rendering the data into the template, you can still preserve the ability to edit the Google Docs before finalizing it as a PDF, giving you flexibility to make final tweaks before archiving.
  4. Periodic Template Updates:

    • Set reminders or workflows in Make or Zapier to alert you periodically (e.g., monthly) to review and update the template. This can ensure that your document style and structure stay relevant as your needs evolve.

Example Workflow:

  1. Trigger: Form submission.

  2. Action: Populate a Google Docs template with the form data.

  3. Action: Create and store the document in Google Drive.

  4. Optional Action: Convert the document to a PDF and save it in the appropriate folder.

This system provides a flexible way to capture, organize, and render your GPT interactions with structured inputs, and the template-based approach keeps everything consistent and editable.

0
Subscribe to my newsletter

Read articles from Daniel Rosehill directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Daniel Rosehill
Daniel Rosehill

I believe that open source is a way of life. If I figure something out, I try to pass on what I know, even if it's the tiniest unit of contribution to the vast sum of human knowledge. And .. that's what led me to set up this page!