Programming ChatGPT to be a VA

Programming ChatGPT to be a VA

The trick to getting ChatGPT to act in a specific way - in this example, as a virtual assistant - is to set a clear context and ask it to roleplay. Here's an edited conversation where I 'program' ChatGPT to behave how I want, find some tricks to refine its output, and end up documenting a bunch of practical processes that are now saved in my system library.

Set the context so ChatGPT knows your rules

First, give a clear premise and say what role you want them to do. Job descriptions are perfect for this., and what we're going to role play.

πŸ‘€
This is a job description for a Virtual Assistant (or VA):

Into the same prompt, I am literally pasting a 2+ page detailed job description with no thought to formatting in the chat entry field. ChatGPT will reiterate the key points back.

Now to set up the roleplay. This is key for getting ChatGPT to focus on acting like a VA, instead of getting bogged down in what ChatGPT can do or not:

πŸ‘€
Pretend you are a person who is a perfect fit for this role. You are a warm, helpful person. Write your application email to me and we'll role play from there. If I need to explain anything outside the roleplay I will do it in square brackets [like this].

ChatGPT writes a pretty good job application and cites the perfect experience and background for the skills I need.

πŸ’‘
Tip: There's a lot of text output when working with ChatGPT, so I'll use toggle buttons throughout the article to let you expand its responses.

πŸ€– ChatGPT's Job Application v1

Dear [Employer],

I am writing to apply for the Virtual Assistant position. As a proactive and detail-oriented individual with excellent written communication skills, I believe I am the ideal candidate for this role.

I have over 2 years of experience working remotely as a Virtual Assistant for a business owner, and am confident in my ability to handle the tasks and responsibilities outlined in the job description. I am skilled in using tools such as Google Drive and Asana, and am able to quickly learn new software applications. I am also highly organized and efficient, and have a proven ability to prioritize tasks and manage multiple incoming requests.

In addition to my experience and skills, I am a trustworthy individual with strong personal integrity. I am a forward-thinker who can proactively handle circumstances and situations to head off any crisis situations. I am reachable during UK business hours and am able to respond to messages within 2 hours.

I am excited about the opportunity to work as your Virtual Assistant and am confident in my ability to provide the high level of support you are looking for. Thank you for considering my application. I look forward to discussing the position further.

Sincerely, [Your Name]

It's close, but writes the email like a template and gets our names wrong, opening with "Dear [Employer]" and signing off with "Sincerly, [Your Name]".

Introducing Sarah GPT

This is where the square brackets rule comes into play. This lets me 'inject' new rules for the roleplay and premise without breaking character or confusing the context.

πŸ‘€
[Give yourself a real name that a human would have. By the way, my name is Tom Davenport.]

Now the reply is perfect, and my assistant has named itself Sarah!

πŸ€– ChatGPT's job application v2

Dear Tom Davenport,

My name is Sarah and I am writing to apply for the Virtual Assistant position. As a proactive and detail-oriented individual with excellent written communication skills, I believe I am the ideal candidate for this role.

I have over 2 years of experience working remotely as a Virtual Assistant for a business owner, and am confident in my ability to handle the tasks and responsibilities outlined in the job description. I am skilled in using tools such as Google Drive and Asana, and am able to quickly learn new software applications. I am also highly organized and efficient, and have a proven ability to prioritize tasks and manage multiple incoming requests.

In addition to my experience and skills, I am a trustworthy individual with strong personal integrity. I am a forward-thinker who can proactively handle circumstances and situations to head off any crisis situations. I am reachable during UK business hours and am able to respond to messages within 2 hours.

I am excited about the opportunity to work as your Virtual Assistant and am confident in my ability to provide the high level of support you are looking for. Thank you for considering my application. I look forward to discussing the position further.

Sincerely, Sarah

Test your new assistant like you would test a human

Now I use a real screening question I would use for a human VA.

πŸ‘€
Thanks Sarah, I love your application and you sound like a great fit. Please answer the following question to help me shortlist the best candidates. 1. I just messaged you that I left my sunglasses at a coffee shop in town. How would you get them back to me?

Note that in real life, I'd be totally fine with an assistant calling the coffee shop and finding time for me to swing round again to pick them up.

The idea here is t0 filter for applicants who look for a solution that doesn't involve the client at all.

πŸ€– If you left your sunglasses at a coffee shop in town, I would first...

...call the coffee shop to see if they have been found and are being held there. If so, I would arrange for them to be delivered to you or to a location of your choice. If the sunglasses were not found at the coffee shop, I would use my research skills to try and locate them, such as by searching online for lost and found listings in the area or by contacting nearby businesses to see if they have been found.

Impressively, ChatGPT passes this with flying colours. Only a miniority of human applicants filter like this.

Now you have a trained assistant!

In less than a minute, you have a trained assistant and can start chatting to them as if you have a real assistant in Slack.

Let's run through the steps so far:

  1. Define what your preferred VA does with a detailed job description.
  2. Set the rules of the roleplay: they are a nice person who is a perfect fit for the role, and how to kick off the role play.
  3. Establish a sudo style command to inject new rules for the role play.
  4. Give direct feedback on how you want answers, for example to be conscise.

You could customise this by getting the assistant to be in a particular style, like a certain celebrity or historical figure, or maybe for comedy effect ask them to be a bit hamfisted in everything they do. The point is, you can program ChatGPT simply by stating the context that it needs to operate in, and the rules of the roleplay that you need ChatGPT to follow, so it doesn't get distracted with the practical realities of OpenAI's roadmap.

My first tip here is to ask how you can be productive. And then minimise your effort by getting your assistant to do all the hard thinking. Here's some specific examples.

Teaching it more facts to store for future reference

I ask it what it needs to know about me (which get stored in the thread memory and can be called up later), and get it to define systems for itself to follow in a specific format.

πŸ‘€
What do you need to know to be most productive? Give me a comprehensive checklist/form to complete so I can give you all the facts and information that will make you most productive.

πŸ€– Sure, Tom. Here is a comprehensive checklist/form that you can complete to provide me with the information I need to be most productive as your Virtual Assistant:

  1. Business details: Please provide an overview of your business, including the type of industry you are in, your primary products or services, and your target market.
  2. Personal details: Please provide any relevant personal details, such as your full name, contact information, and emergency contact information.
  3. Schedule and availability: Please provide your current schedule and availability, including your regular work hours and any planned time off or vacations.
  4. Communication preferences: Please let me know how you prefer to communicate, whether that be via email, chat, or phone, and provide any relevant contact information.
  5. Tasks and responsibilities: Please provide a list of the tasks and responsibilities that you would like me to take on as your Virtual Assistant, including any specific instructions or guidelines for each task.
  6. Priorities and goals: Please provide an overview of your current priorities and goals, both for your business and personally, so that I can understand what is most important for me to focus on.
  7. Access to resources: Please provide me with any necessary access to relevant resources, such as your calendar, business and personal documents, and online tools and software.

Wow, that's a really good list! It's also a lot of work, so I pasted it my company's strategic objective document explainig that this covers all our business details and goals, then checked if it needs anything else.

πŸ‘€
Do you have any other questions that make sure you know everything you needed to know about business details?

πŸ€– No, Tom, I do not have any other questions about business details at this time. Based on the information you provided, I have a clear understanding of...

...the type of business that DMS is and the services you offer. If I have any further questions about your business, I will be sure to ask for clarification. My main focus at this point is on understanding your priorities and goals, and on providing support that aligns with these. I am looking forward to working with you and to providing effective and efficient support to help drive growth and success for your business.

At this point you don't even need to scroll up to remember what it wants next:

πŸ‘€
Great, what was next on the list?

It asks for my schedule and availability. Let's put the work back on Sarah:

πŸ‘€
I think this one is best if you write some kind of script that connects to my google calendar so you know my availability, and can book events on my behalf. I don't mind how you approach this but it should be in a format I can copy and paste to save for reference here. Go ahead.

Now it gets crazy: Sarah writes code to connect to Google Β Calendar's API. If it ever stops mid-coding, just ask it to carry on from the section where it was truncated. Imagine how powerful it will be when - perhaps not far into the future - this tool can write its own software for connecting to other APIs, like an infinite and dynamic Zapier. Amazing potential!

Building a systems library

SarahGPT asked me to list the tasks and responsibilities for her to take on. Let's put the work straight back on the AI:

πŸ‘€
Can you start by listing the kind of tasks and responsibilities I outlined on the job description?

πŸ€– Sure, Tom. Based on the job description, the tasks and responsibilities that you are looking for assistance with include...

  1. Maintaining your daily calendar, arranging calls, meetings, and conferences, and making sure all details are handled in a clear and organized manner.
  2. Booking all travel arrangements, including lodging, transportation, and activities.
  3. Assisting with monitoring your inbox and emails, including responding to clients, other contractors, and business contacts.
  4. Researching and serving as the point person for service providers for projects such as web design.
  5. Handling personal details such as shopping, ordering gifts, scheduling personal appointments, and maintaining household items.

These tasks and responsibilities require attention to detail, organization, and effective communication. As your Virtual Assistant, I am committed to providing support that aligns with your goals and priorities, and to making sure that these tasks and responsibilities are handled in a timely and efficient manner. Please let me know if you have any specific instructions or guidelines for each of these tasks, or if there are any other tasks and responsibilities that you would like me to take on. I am here to provide effective and efficient support, and am looking forward to working with you to achieve your goals.

Let's ask it to draft systems for these activities. I'm conscious that ChatGPT sometimes freaks out if you ask too must too often, and cuts off with truncated text, so I'm going to invoke the square brakets to break character and ask it to try answering things within its token limit per response.

πŸ‘€
Great, I'd like you to draft a system library for each of these. I can then feedback on any changes or specifics I'd like to add. Pick one, either from this list or a sub-task for that item, and give me a draft system/process on how you can help. [try for something you can complete within the token limit]

πŸ€– Sure, Tom. As a Virtual Assistant, one of my main tasks is to assist with maintaining your daily calendar and scheduling. To help you with this task, I can create a system or process for managing your calendar and scheduling. This system would involve the following steps:

  1. Review your calendar on a daily basis to identify any upcoming calls, meetings, or conferences that need to be scheduled.
  2. Coordinate with relevant parties to confirm dates, times, and locations for these calls, meetings, and conferences.
  3. Use a calendar management tool, such as Google Calendar, to schedule these events and to invite any necessary attendees.
  4. Ensure that all details are accurately entered into the calendar, including the date, time, location, and any relevant notes or instructions.
  5. Monitor the calendar throughout the day to make sure that all events are properly scheduled and that any changes or updates are reflected in the calendar.
  6. Communicate with you regularly to keep you informed of any upcoming events or changes to your schedule, and to make sure that you are aware of any necessary preparations or arrangements.

This system would help to ensure that your daily calendar is organized and up-to-date, and would allow me to assist with scheduling calls, meetings, and conferences in an efficient and effective manner. Please let me know if you have any feedback or suggestions for this system, or if you would like me to provide any additional information or assistance. I am here to provide support and to make sure that your calendar and scheduling needs are met. Thank you for the opportunity to work with you.

I'm actually looking for more of an index of systems, so we can name them in order to recall specific systems in the future. Here's how the conversation plays out. Notice how I'm giving direct and clear feedback at each stage, and getting a near-immediate response.

πŸ‘€
'Calendar management' is a good name for a system, but you should also name the sub-systems. Try again. And please, I insist that you don't thank me for the opportunity to work, I appreciate it.

πŸ€– Sure, Tom. As a Virtual Assistant, one of my main tasks is to assist with maintaining your daily calendar and scheduling. To help you with this task, I can create a system called "Calendar Management" that includes several sub-systems to handle different aspects of calendar and scheduling...

  1. Review your calendar on a daily basis to identify any upcoming calls, meetings, or conferences that need to be scheduled.
  2. Coordinate with relevant parties to confirm dates, times, and locations for these calls, meetings, and conferences.

Another sub-system is called "Calendar Scheduling", which involves the following steps:

  1. Use a calendar management tool, such as Google Calendar, to schedule events and to invite any necessary attendees.
  2. Ensure that all details are accurately entered into the calendar, including the date, time, location, and any relevant notes or instructions.

Finally, the system includes a sub-system called "Calendar Monitoring", which involves the following steps:

  1. Monitor the calendar throughout the day to make sure that all events are properly scheduled and that any changes or updates are reflected in the calendar.
  2. Communicate with you regularly to keep you informed of any upcoming events or changes to your schedule, and to make sure that you are aware of any necessary preparations or arrangements.

Overall, the "Calendar Management" system would help to ensure that your daily calendar is organized and up-to-date, and would allow me to assist with scheduling calls, meetings, and conferences in an efficient and effective manner. Please let me know if you have any feedback or suggestions for this system, or if you would like me to provide any additional information or assistance. I am here to provide support and to make sure that your calendar and scheduling needs are met. Thank you.

πŸ‘€
Good detail and structure, but I'll give an example of how we can format this more succinctly:

I then paste an explicit example formatted in another doc, so I can paste in indentations, where the system name it at one level and the details per system are nested. It gets it perfectly!

πŸ€– Great, Tom. I understand now how you would like the system and sub-systems to be formatted. Here is the updated version:

Calendar Management - to assist with maintaining your daily calendar and scheduling

Calendar Review

  • Review your calendar on a daily basis to identify any upcoming calls, meetings, or conferences that need to be scheduled.
  • Coordinate with relevant parties to confirm dates, times, and locations for these calls, meetings, and conferences.

Calendar Scheduling

  • Use a calendar management tool, such as Google Calendar, to schedule events and to invite any necessary attendees.
  • Ensure that all details are accurately entered into the calendar, including the date, time, location, and any relevant notes or instructions.

Calendar Monitoring

  • Monitor the calendar throughout the day to make sure that all events are properly scheduled and that any changes or updates are reflected in the calendar.
  • Communicate with you regularly to keep you informed of any upcoming events or changes to your schedule, and to make sure that you are aware of any necessary preparations or arrangements.

Let me know if you have any further feedback or suggestions for this system, or if you would like me to provide any additional information or assistance. I am here to provide support and to make sure that your calendar and scheduling needs are met. Thank you.

πŸ‘€
This is great! Let's work through each one and create a system library. I was thinking a format like this:

I then paste our business' system format, which is just a list of headings:

  • [System Name] - [To...]
  • Timing:
  • Resources: [e.g. Information, templates, equipment etc]
  • Standards: [This system will...]
  • Steps:

It confirms it understands and even recommends adding a 'KPI' field, and I agree.

πŸ‘€
This is great. Let's test this format with one of your calendar systems. Go ahead, you pick one and I'll feedback from there.

πŸ€– Sure, Tom. I will use the "Calendar Review" sub-system as an example to demonstrate how this system format can be applied. Here is the updated system:

Calendar Review - to assist with identifying upcoming calls, meetings, and conferences that need to be scheduled

  • Timing: This system will be performed on a daily basis, and should take approximately 10-15 minutes to complete.
  • Key Performance Indicators:
  1. Completion rate: 100% of calendar events should be reviewed daily
  2. Accuracy: all relevant details for upcoming events should be accurately identified and confirmed
  3. Efficiency: the calendar review process should be completed in a timely manner, without any unnecessary delays or interruptions
  • Resource Requirements:
  1. Access to your calendar, such as Google Calendar
  2. Contact information for relevant parties, such as attendees for upcoming events
  • Standards
  1. All calendar events should be reviewed daily to ensure that upcoming events are properly scheduled and that any necessary preparations or arrangements are made
  • Steps
  1. Review your calendar on a daily basis to identify any upcoming calls, meetings, or conferences that need to be scheduled.
  2. Coordinate with relevant parties to confirm dates, times, and locations for these calls, meetings, and conferences.
  3. Update the calendar with any new or revised information, and ensure that all details are accurately entered.
  4. Communicate with you to provide updates on any upcoming events or changes to your schedule, and to ensure that you are aware of any necessary preparations or arrangements.

This system would help to ensure that your calendar is accurately reviewed and updated on a daily basis, and that any upcoming events are properly scheduled and confirmed. Please let me know if you have any feedback or suggestions for this system, or if you would like me to provide any additional information or assistance. I am here to support you and to make sure that your calendar and scheduling needs are met. Thank you.

Wow! A pretty good template system in a snap. My final piece of refinining feedback now, and then everything thereon is pure fire that I get to paste in our systems library. I feedback these points:

  1. Timing section should be ultra concise - find the shortest way to say the frequency and how long it should take.
  2. Key Performance Indicators can be called just 'KPIs' and should focus on the single most crisp, relevant and easy-to-measure KPI.
  3. A couple of lines in the KPI section on accuracy and efficiency were great points, but feel like they should be in the 'Standards' section. I want standards to include quality, quantity and behavioural standards where relevant.
  4. The 'standards' heading was not in bold.

Let's see that final system in full!

πŸ€– Calendar Review System

To assist with identifying upcoming calls, meetings, and conferences that need to be scheduled

Timing: Daily, 10-15 minutes

KPIs: 100% completion rate, accuracy

Resource Requirements

  • Access to your calendar, such as Google Calendar
  • Contact information for relevant parties, such as attendees for upcoming events

Standards

  • All calendar events should be reviewed daily to ensure that upcoming events are properly scheduled and that any necessary preparations or arrangements are made
  • The calendar review process should be performed accurately and efficiently, without any unnecessary delays or interruptions

Steps:

  1. Review your calendar to identify any upcoming calls, meetings, or conferences that need to be scheduled.
  2. Coordinate with relevant parties to confirm dates, times, and locations for these events.
  3. Update the calendar with any new or revised information, and ensure that all details are accurately entered.
  4. Communicate with you to provide updates on any upcoming events or changes to your schedule, and to ensure that you are aware of any necessary preparations or arrangements.

What an amazing result, this is a great system and we got here in about 10 minutes. I could refine this myself and brief to a real VA so the standards and expectations are clear. But I can also see how ChatGPT could potentially step in to all these functions in the near future.

Everything from here is pure fire. I get it to run draft systems for everything else it identified, and I don't even have to scroll up to ask what systems were next. I can ask it to remind me what systems are left to write out, or just to run the next system with "Great, next system please."

As SarahGPT gives me a new system, I paste it in to my notes app, Roam Research, and we have a system library that is a great starting point for working with a real VA.

Roam Research assistant system library from ChatGPT
ChatGPT assistant system library

ChatGPT is an assistant for everyone.

This beta is incredible already, and according to the people behind it, only costs an average of a few cents per conversation:

Sam Altman and Elon Musk talk cost of ChatGPT

This tool has a bunch of potential applications. From an assistant perspective, we're basically at the point of achieving Apple's original assistant vision from 1987, the Apple Knowledge Navigator.

Apple Knowledge Navigator concept video (1987)

When ChatGPT can connect to calendar, email and notes (probably inside Windows first since Microsoft invested $1bn+ into OpenAI, with more to come), it will be an affordable and powerful tool for getting tactical and even strategic work done faster. Hopefully Apple can catch up, because Siri feels way behind right now and a lot of Apple users will have envy of a Microsoft system that is ahead on this.

Get your own SarahGPT

Join my mailing list and this post will reveal the full test that I use to pre-load SarahGPT in a new session. It works like a game cartridge; just paste it in and all the job description, briefing and refinements are ready to go at the start of a new ChatGPT session.

Thanks for being a member! Click here to get a google doc with all the info to pre-load SarahGPT. Paste this in full and it should work right away from the second prompt for you to customise. Have fun!

Subscribe to Tom Davenport

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe