I read Geoffrey Litt’s blog post about an AI assistant made of just a SQLite table and some cron jobs and immediately wanted something like it for myself.

Since I work at Airtable, I wanted to see how far I could go by building a similar system in a single Airtable base without writing any code. I was thrilled to end up with what is the most useful (to me) AI-powered thing I have built to date.

This post is the first in a series explaining how to build your own customizable AI personal assistant in Airtable.

Chapter 1: A personalized morning brief

By the end of this chapter, you will have an AI-powered system that sends you a personalized message in the morning before your day begins. This daily message will contain a summary of your Google Calendar and any other time-based data you might want to stay up-to-date on.

Email preview

An example of the daily summary email you can receive.


Initial setup

  1. Create an Airtable base with access to Airtable AI.
  2. Create a table named Config in your base that looks like the following:

Config table schema

We will use this table in Automations and AI prompts to personalize your experience.


📅 Create a Google calendar sync table

To create a Google Calendar sync, follow the first two steps in the (help center instructions). Your config should look like the image below.
Calendar sync config

  1. For the second config page, leave it on All fields in the source and fields added in the future
  2. Rename this table to Calendar
  3. (Optional) You can add additional sync sources to this same table to bring in other calendars. If you do, be sure to include the sync source later on when you are filling out AI prompts.

Create a “Context” view

  1. Create a new view in the Calendar table called Context.
  2. In the Context view, set up some filters to only include events for the current week, as shown in the screenshot below.
    • (Optional) Exclude events such as “holds” or “blocks” that you don’t want your assistant reminding you about (this is what the second gray box below does).Calendar context filters
  3. On both the Start and End columns in your Calendar table, enable the Use the same time zone for all collaborators setting and select your timezone. If you get a warning here, it’s okay - just “Confirm”. Timezone config

🤖 Create the daily summary automation

  1. Create a new automation named Create Daily Summary
  2. Select the At scheduled time trigger type and configure it as shown below. Summary trigger properties
  3. Adjust the time you’d like to get your summary email message by changing “6:00am” to whatever you’d like.

Define what you want your assistant to read

  1. Add a Find records action to the automation with a description of Get the config, and configure it as shown below. This will allow the AI prompt later to read the values you defined in your Config table at the start. Find action Config properties
  2. Add another Find records action to the automation with a description of Get the calendar events, and configure it as shown below. This step will retrieve the relevant calendar events to tell the AI about. Notice that this is using the Context view with the filters you defined earlier. Find action Calendar context properties

Define the AI prompt

Add a Generate with AI action to your automation next. Copy the prompt from here into the “Prompt” box on the right side of the screen. Within this prompt, there are four places where you need to replace a tag that looks like this: <REPLACE ...> with a chip. To add a chip in the prompt area, click the blue “+” button in the top right corner. Each chip you need to add one is explained below.

  1. For the current time tag, add an “A specific time” -> “Actual run time” chip, and select your preferred date format and timezone. Current time chip
  2. For the name tag, add a chip as shown in the images below. Select the Find records step for Config, then select “Field values”, then select Collaborator, and finally select Name at the end. This will dynamically retrieve your name from the Collaborator token.
  3. For the pronouns tag, add a chip the same exact same way, however select the Pronouns field (instead of Collaborator).
  4. For calendar events, select the proper Find records step, then display as a list, and then add a chip like this:
    Only select a few fields here. Make sure "Use field timezones if available" at the bottom is checked.
  5. Change your model to something more powerful such as “Claude Sonnet 3.7” or “GPT-4.1”.
  6. Change your Randomness to “Medium”

At the end of all of these steps your action should look something like this: Summary prompt preview

Send some emails

Add one last action to your automation, the Send email action that will deliver the AI-generated message to you. Feel free to configure this however you’d like. My email looks like the following: Summary email properties

  1. The chip in the To field is configured just like the name tag was earlier. This time, select Email at the end instead of Name.
  2. The chip in the Subject field is the same as the current time tag from earlier.
  3. The Message field should have the AI action’s response, without additional formatting (the AI will format it for us).

With this step done, you should be ready to test and enable your automation! It should look like the below screenshot. Summary automation

To enable your automation, be sure to toggle the big red “OFF” button in the top left of the window to “ON”.

🎉 Congratulations, you’ve now set up an AI personal assistant that will read through your upcoming calendar events and email you a morning brief before you start your day.

Adding additional data sources

So far, we have added Calendar events as a source for the AI to use when constructing your daily summary. You can add additional sources the same way, and these sources can be imported from CSVs, .ics files, or other syncs.

For each additional data source, you’ll want to follow these steps:

  1. Create a new table and import your data.
  2. Create a Context view in the table that filters down data to the records relevant for the week.
  3. Add a new Find Records step to the summary automation, similar to the Get the calendar events one.
  4. Pass in the records to the prompt in the AI action like you did for the calendar events tag.
  5. (Optional) Add a new section to the prompt explaining the new data source and how to interpret it.

⚾ Example: Mets game schedule

I wanted my assistant to know about the Mets baseball team’s schedule. These are the steps I took:

  1. Imported a CSV for the schedule as a new table.
  2. Made a Context view with filters like this: Mets table filters
  3. Added a new Find records step with a useful description.
  4. Passed the records into the prompt like this: Mets prompt changes
  5. Added some instructions to the prompt for the AI to use when reasoning about these events:
## Calendar instructions
... unchanged

## Met's game instructions
- If there are no Mets games, skip this section.
- Don't tell me about the radio station, I don't use that
- Do tell me what TV channel the game is on, and what time it starts.
- Of course, tell me who the Mets are playing and where.

By following these steps, you can expand your AI personal assistant with additional events and knowledge sources, all without writing any code.

Next time

In the next post, we’ll add “memories” for the AI to consider in addition to just events. We’ll also set up a way for you to easily send and receive messages directly with the AI.

Summary prompt

# Objective
You are a helpful personal assistant who is tasked with creating fun and useful daily summaries for an individual.
Each day, you will create a summary for the current day - first thing in the morning. You will be given the individual's name and pronouns below - try to make your summary feel personal and authentic!

## Inputs
The current date is: <REPLACE current time>
You are writing this summary for: <REPLACE name> who uses the pronouns <REPLACE pronouns>
This week's calendar events: <REPLACE calendar events>

## Calendar instructions
Don't tell me about standard events like whether I'll be in the office, if there are office-wide events like coffee, or when lunch is.

## Output instructions
Output your summary in a fun, conversational tone. Do not be too flowery with your language, and try to keep things short and to the point. Your summaries should be accurate, and efficient.

Remember that you are are writing the summary for a specific day, but have been informed about upcoming events for the entire week. Focus on today, but try to highlight upcoming important events when you think it's useful.

If you don't have anything to say because there are no inputs, simply wish your individual a nice day, and maybe add in a fun, truthful fact.
Use Markdown formatting for your output text.

Disclaimer: I am an Airtable employee. Any views expressed are solely my own and do not express the views or opinions of my employer.