Learning Airtable: Building Database-Driven Applications with No-Code 9781098133375

Get a concise yet comprehensive overview of Airtable, one of the most versatile platforms to emerge from the no-code mov

116 12 19MB

English Pages 379 Year 2023

Report DMCA / Copyright

DOWNLOAD FILE

Learning Airtable: Building Database-Driven Applications with No-Code
 9781098133375

Table of contents :
Preface
Who Should Read This Book
Navigating This Book
Conventions Used in This Book
O’Reilly Online Learning
How to Contact Us
Acknowledgments
1. Introducing Airtable
What Is Airtable?
Airtable and the No-Code Movement
How We Got to Now: Spreadsheets and Databases Collide into Airtable
Airtable’s Primary Components
Three Sections: Data, Automations, and Interfaces
Bases, Records, and Tables
Fields
Views
Automations
Interfaces
Airtable Pricing
Airtable’s Competitive Advantage
The Airtable Community
Airtable’s Backers
Design and Product Excellence
Airtable in Context
What This Book Will Cover
Summary
2. Working with Records and Fields
Records
The Primary Field
Fields and Field Types
Input Fields
Text fields
URL, Phone number, and Email fields
Single select and Multiple select fields
Number, Percent, and Currency fields
Duration
Date
Rating
Checkbox
Attachment
Barcode
The Button Field
Calculated Fields
Autonumber field
“Created time” field
“Last modified time” field
Last modified by field
“Created by” and User fields
3. Linked Records and the Lookup Field
Why Use Linked Records?
Define Relationships Between Things
Create a Single Source of Truth and Reduce Repetitive Manual Entry
Relationships Between Records in a Relational Database
One-to-One Relationship
One-to-Many Relationship
Many-to-Many Relationships
Aggregating Data from Linked Records
Lookup Field
Creating a Lookup field
Adding conditions to Lookup fields
Putting conditions on Lookup fields
Count Field
4. View Essentials
Configuring Views
Getting Started with the Grid View
The Grid View’s Configuration Options
Filtering
Conjunctions and condition groups
Nesting condition groups
Sorting
Hiding Fields
Height
Summary Bar
Coloring
Grouping
Creating and Organizing Views
Creating a View
View Permissions
Personal views
Locked views
5. Importing Data
Importing CSV Files and Spreadsheets
Importing Tabular Data from CSV Files
Importing Google Sheets and Excel Data
Importing Different Types of Data
Numbers, Currency, and Dates
Numbers
Currency
Dates
Outliers When Importing Spreadsheet Data
Checkbox
Multiple select field
Beware of spreadsheet formulas
Sync
Syncing an Airtable View
Trade-offs when syncing
Syncing from another source
Multisource Sync
Setting up multisource sync
Manage fields in multisource syncing
Manage and enhance multisource synced tables
Security When Syncing
Securing shared data with a password
Securing shared data via email domain
Form View
Setting Up a Form
Managing Form Access
Conditional Form Fields
6. View Types
Visually Organizing with Cards: Gallery and Kanban Views
Gallery View
Kanban View
Visually Organizing Using Dates: Calendar, Timeline, and Gantt Views
Calendar View
Timeline View
Gantt View
List View
7. Creating the Fall Tour Tracker Base
Creating Relationships Between Tables
Connecting Cities to Lodging
Connecting Cities to Venues
Creating the Shows Table
Creating the Regions Table
8. Formulas
Basics of the Formula Field
Formula Components
Fields
Operators
Functions
Numbers
Text/String Data
The Formula Editor
Introduction to Operators and Functions
Text, numerical, and date and time
Logic
Array, record, and regex
Formula Examples
Ampersands (&) and quotation marks (“) in formulas
CONCATENATE()
Text Functions
SUBSTITUTE()
Shortening Venue Names Using SUBSTITUTE(), LEFT(), and FIND()
Using FIND() to Find the First Word
Creating conditional logic with IF()
Date and Time Functions
Calculating Weeks of the Tour
Formatting show dates
Cleaning up the primary field
Finding days off in the tour schedule
Numeric Functions
Calculating Ticket Revenue Estimates
Logical Functions
Determining Whether to Buy an Insurance Policy
Using SWITCH() to Calculate How Many Days Off Between Shows
Using Nested IF() Statements for Data Validation
9. The Rollup Field
What Does It Mean to “Roll Up” a Field?
Rolling Up Grocery Store Orders
Setting Conditions for Rollup Field
Choosing a Rollup Function
Rolling Up Costs from the Fall Tour Tracker
Rollup Functions
Arithmetic Rollup Functions
AVERAGE
SUM
MIN and MAX
Logic Functions
AND
OR
XOR
CONCATENATE Text Function
Array Functions
ARRAYCOMPACT
ARRAYJOIN
ARRAYUNIQUE
10. Extensions
Three Major Categories of Airtable Extensions
Extensions That Work with Data in Your Base
Extensions for visual display
Chart
Summary
Utility extensions
Dedupe
Base schema
Batch update
Extensions That Connect to Third-Party Services
Examples of third-party extensions
Data Fetcher
NoBull
On2Air Backups
Scripting Extension
Script examples
Convert URLs to attachments script
Validate emails script
How to install a script
Installing an extension from the Marketplace
Installing custom code into the scripting extension
Where to find Airtable scripts
Putting code into the scripting extension
Top Airtable Extensions
Chart Extension
Bar chart
Line chart
Scatter plot chart
Donut chart and pie chart
Web Clipper Extension
The two components of Web clipper
Data that the Web clipper extension can capture
Setting up the Web clipper
Using the Web clipper
Advanced Web clipper options
Page Designer
What you can put into Page designer
Static and dynamic elements
Available fields and records in Page designer
Positioning elements on the page
Printing from Page designer
Drawbacks of Page designer
Translate Extension
Setting up the Translate extension
Configuring the Translate extension
Creating a translation
Keeping Track of Extensions
The “Manage Extensions” Dashboard
11. Airtable Automations
Airtable Automations Versus Other Connector Software
Advantages to Connecting Airtable via Airtable Automations
Disadvantages to Connecting Airtable via Airtable Automations
The Basics of Airtable Automations
The If/Then Logic of Automations
Simple Automation: When a Record Is Updated
Setting up the trigger
Choosing the field to monitor
Testing the step
Setting up the action
Static and dynamic data
Pulling dynamic data into the action
Testing the action
Running the automation
Simple Automation: When a Record Matches Conditions
Choosing a trigger
Setting up the trigger
Testing the trigger
Setting up the action
Testing the action
Advanced Automations
Advanced automation: daily ticket sales update
“At a scheduled time” trigger
Tracking ticket sales in last 24 hours
Rolling up ticket sales
Finding regions with recent sales in automation
Ticket sales notification in Slack
Advanced automation: Managing press requests with automations
Creating a new table with a form
“Send an email” action
“Gmail: Send email” action
Adding conditional actions
Matching journalist with publication using “Find records” action
Configuring conditional logic
“Update Record” action
“Gmail: Send email” from press representative
Slack message to the team
Triggers
Airtable Triggers
“When a record is updated”
“When a record is created”
“When a record matches a condition”
“When a record enters a view”
“When a form is submitted”
“At a scheduled time”
“When a webhook is received”
“When a button is clicked”
Third-Party Triggers
“Outlook Email: When email is received”
“Outlook Calendar: When event created” and “Outlook Calendar: When event changed”
“Google Calendar: When event created,” “Google Calendar: When event changed,” and “Google Calendar: When event canceled”
“Google Sheets: When a row is created”
“Google Forms: When a new response arrives”
Actions
Airtable’s Actions
“Create record”
“Update record”
“Send an email”
“Run a script”
“Find records”
Conditional logic in Automations
Repeating groups in Automations
Third-Party Actions
“Send a Slack message”
“Send MS Teams message”
“Gmail: Send email” and “Outlook Email: Send email”
Google and Outlook Calendar actions
“Google Sheets: Append a new row to a spreadsheet”
“GitHub Issues: Create issue” and “GitHub Issues: Update issue”
“Twitter: Post Tweet”
“Facebook Pages: Create a new post”
“Hootsuite: Schedule post”
12. Interface Designer
Interfaces as a Frontend
Why Use Interfaces?
How Do Interfaces Work?
What Makes an Interface?
Creating Interfaces
Creating Full-Page Layouts
Setting global preferences for full-page interfaces
“Click into record details”
“Find records”
“Add records”
Adding a button
Creating a Dashboard Interface
Adding filters to the dashboard
Bar chart to measure ticket sales by region
Setting up a scatter plot
Creating an Interface with Multiple Tables and Buttons
The business case
Interface functionality
Adding buttons
Adding fields
Building an automation for an interface button
Interface Layouts
“Record review” layout
“Record summary” layout
Dashboard layout
Form layout
Full-page layouts
Interface Elements
View Elements
Calendar
Gallery
Grid
Kanban
List
Timeline
Discrete Elements
“Button” element
“Chart” element
Record picker element
Filter element
Number element
Text element
Interface Designer Permissions
13. Platforms That Extend Airtable
Connectors
Zapier
Advantages of Zapier
Make
Advantages of Make
App Builders
Softr
Stacker
Summary
A. The Web API and Blocks SDK for Nondevelopers
The Airtable Web API
What’s a REST API?
How Does the Airtable REST API Work?
What Can You Do with the Airtable REST API?
Developing Custom Airtable Extensions with the Airtable Blocks SDK
What Are Extensions?
The Power of the Blocks SDK
How Does the Blocks SDK Work?
B. Formula Functions and Operators
Text Operators
&
'\n’
Text Functions
CONCATENATE()
RIGHT()
LEFT()
LEN()
LOWER()
TRIM()
SEARCH()
ENCODE_URL_COMPONENT()
SUBSTITUTE()
FIND()
LOWER()
UPPER()
REPT()
MID()
T()
REPLACE()
LEN()
Date and Time Functions
DATESTR()
DATETIME_DIFF()
DATETIME_FORMAT()
DATEADD()
DATETIME_PARSE()
HOUR()
IS_BEFORE()
IS_AFTER()
IS_SAME()
DAY()
MONTH()
SET_LOCALE()
MINUTE()
SECOND()
SET_TIMEZONE()
NOW()
WEEKDAY()
TIMESTR()
WORKDAY()
WEEKNUM()
WORKDAY_DIFF()
YEAR()
TODAY()
TONOW()
FROMNOW()
Numeric Operators
Numeric Functions
AVERAGE()
COUNT()
MAX()
MIN()
SUM()
ABS()
COUNTA()
CEILING()
EVEN()
COUNTALL()
FLOOR()
EXP()
LOG()
INT()
MOD()
POWER()
ODD()
MAX()
ROUND()
ROUNDUP()
ROUNDDOWN()
SQRT()
VALUE()
Logic Functions
AND()
BLANK()
FALSE()
IF()
NOT()
OR()
SWITCH()
XOR()
TRUE()
Logic Operators
!=
=
Regex Functions
REGEX_EXTRACT()
REGEX_REPLACE()
REGEX_MATCH()
Array Functions
ARRAYJOIN()
ARRAYCOMPACT()
ARRAYFLATTEN()
ARRAYUNIQUE()
Record Functions
LAST_MODIFIED_TIME()
CREATED_TIME()
RECORD_ID()
Error Functions
ERROR()
ISERROR()
Index

Polecaj historie