DataMateApps

DataMate Tutorial
DataMate Tutorial

DataMate Tutorial

Welcome to DataMate! This comprehensive guide covers how to use DataMate for data management, form building, and contact management within Google Sheets. Current date: May 25, 2025.

DataMate is a Google Sheets add-on designed to simplify data management, form creation, and contact organization. Key capabilities include:

  • Automated Data Entry: Organize data into structured sheets.
  • Record Management: Save, view, update, and print records easily.
  • Customizable Forms: Build advanced forms with over 29 field types, including dynamic tables for interactive data entry.
  • Contact Integration: Import and manage contacts from Gmail or CSV files.
  • Dynamic Logs: Track up to 12 log fields per record.

Watch the DataMate Overview Video

Installation

Install DataMate from the Google Workspace Marketplace. Open a Google Sheet, and look for the "DataMate" menu.

Initialize Your Spreadsheet

  • New Spreadsheet: Open a new Google Sheet, enter data in A3:Q48 on Sheet1, and select "DataMate > New Dataset" to set up specialized sheets (Input, Data, View_Print, Update, Log).
  • Existing Spreadsheet: Ensure Sheet1 has data in A3:Q48, then run "New Dataset."

Adding Data

Enter data in Input sheet cells A3:Q48. Merge cells containing text for proper formatting.

Setting Up Logs

In the Input sheet:

  • For each log (e.g., Log 1): Type =, select the label cell (e.g., "Invoice Number"), and press Enter.
  • Below each log label, type =, select the data cell, and press Enter. Up to 12 logs are supported.

Managing Records

  • Save: Click "DataMate > Save Record" to store data in the Data sheet and view it in View_Print.
  • View: Use the dropdown in View_Print!B2 to select records.
  • Update: Edit records in the Update sheet; changes sync to Data.
  • Print: In View_Print, go to "File > Print > Current Selection."
  • Reset: Use "Reset Input" or "Reset View/Print" to refresh sheets from Sheet1.

Using the FormBuilder Interface

The HTML FormBuilder provides a visual editor for designing forms:

  1. Launch: Go to "DataMate > FormBuilder > Form Builder" to open a 1200x600px modal.
  2. Interface:
    • Field Palette: Drag field types (e.g., Text, Checkout, Hyperlink, ImageLink) onto the canvas.
    • Properties Panel: Edit field name, targets (sheets/cells), type, options, and required status.
    • Preview: View the form layout as you build.
  3. Build:
    • Drag a "Header" for the title (e.g., "Customer Feedback Form").
    • Add fields like "Email", "Dropdown", "StarRating", or "Table" (link to a sheet range).
    • Set properties (e.g., "Required: Yes", "Options: =Sheet1!A:A").
  4. Save: Click "Save" to update FormSetup!A10:J.
  5. Test: Use "DataMate > FormBuilder > Preview Form" to see the form in action.

Manually edit FormSetup for advanced tweaks.

Configure Settings

In FormSetup:

  • I6: Form Name (e.g., "Customer Feedback Form").
  • B6: On Submit Functions (e.g., checkout, save, copyInput1, newContact) - Runs after submission.
  • B8: Notification Email (e.g., "your-email@example.com") - Sends an email with form response details on submission.

Add Fields

Define fields in A10:J (or via FormBuilder):

  • A: Field Name
  • B: Target Sheet 1
  • C: Target Cell/Column 1 (e.g., A1 or A)
  • D: Target Sheet 2
  • E: Target Cell/Column 2
  • F: Target Sheet 3
  • G: Target Cell/Column 3
  • H: Field Type
  • I: Options (e.g., dropdown values, formulas, URLs, ranges)
  • J: Required (Yes/No)

Supported Field Types

All 29 field types with examples:

Text

Single-line text input.

  • I: Blank
  • Example: ["Name", "Responses", "A", "Sheet2", "B2", "", "", "Text", "", "Yes"]

Dropdown

Single-choice dropdown.

  • I: Comma-separated options or range
  • Example: ["Dropdown", "Responses", "I", "", "", "", "", "Dropdown", "=Sheet1!A:A", "Yes"]

MultiSelect

Multi-choice dropdown.

  • I: Comma-separated options
  • Example: ["MultiSelect", "Responses", "J", "", "", "", "", "MultiSelect", "Red,Green,Blue", "No"]

Date

Date picker.

  • I: Blank
  • Example: ["Date", "Responses", "C", "Records", "B1", "", "", "Date", "", "No"]

Time

Time picker.

  • I: Blank
  • Example: ["Time", "Responses", "D", "", "", "", "", "Time", "", "No"]

Number

Numeric input.

  • I: Blank
  • Example: ["Number", "Responses", "E", "", "", "", "", "Number", "", "Yes"]

Checkbox

True/false checkbox.

  • I: Blank
  • Example: ["Checkbox", "Responses", "F", "", "", "", "", "Checkbox", "", "No"]

Radio

Single-choice radio buttons.

  • I: Comma-separated options
  • Example: ["Radio", "Responses", "G", "", "", "", "", "Radio", "Yes,No,Maybe", "Yes"]

Textarea

Multi-line text.

  • I: Blank
  • Example: ["Textarea", "Responses", "H", "", "", "", "", "Textarea", "", "No"]

Email

Email input with validation.

  • I: Blank
  • Example: ["Email", "Responses", "B", "", "", "", "", "Email", "", "Yes"]

StarRating

5-star rating.

  • I: Blank
  • Example: ["StarRating", "Responses", "K", "", "", "", "", "StarRating", "", "No"]

RangeSlider

Slider for numeric range.

  • I: "min,max,step"
  • Example: ["RangeSlider", "Responses", "L", "", "", "", "", "RangeSlider", "0,100,5", "No"]

FileUpload

File upload (max 6MB).

  • I: Blank
  • Behavior: Stores Google Drive link
  • Example: ["FileUpload", "Responses", "M", "", "", "", "", "FileUpload", "", "No"]

Conditional

Shows based on another field’s value.

  • I: "FieldName=Value"
  • Example: ["Conditional", "Responses", "N", "", "", "", "", "Conditional", "Checkbox=true", "No"]

Calculated

Read-only calculated value.

  • I: "=Formula" (basic arithmetic)
  • Example: ["Calculated", "Responses", "O", "", "", "", "", "Calculated", "=Number*2", "No"]

Signature

Canvas for drawing signatures.

  • I: Blank
  • Behavior: Saves as PNG link
  • Example: ["Signature", "Responses", "P", "", "", "", "", "Signature", "", "No"]

Geolocation

Captures latitude, longitude.

  • I: Blank
  • Behavior: Click "Get Location"
  • Example: ["Geolocation", "Responses", "Q", "", "", "", "", "Geolocation", "", "No"]

ProgressBar

Static progress bar (0-100).

  • I: Number
  • Example: ["ProgressBar", "", "", "", "", "", "", "ProgressBar", "75", "No"]

Captcha

Fixed "3 + 5" verification.

  • I: Blank
  • Behavior: Enter "8"
  • Example: ["Captcha", "Responses", "R", "", "", "", "", "Captcha", "", "Yes"]

Image

Static image display.

  • I: URL
  • Example: ["Image", "", "", "", "", "", "", "Image", "https://drive.google.com/uc?export=view&id=165kqv1atBk1WBbSkIbj6pnoikR9JOpLj", "No"]

Video

Playable video.

  • I: YouTube/MP4 URL
  • Example: ["Video", "", "", "", "", "", "", "Video", "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "No"]

ImageLink

Input URL with preview.

  • I: Blank
  • Example: ["ImageLink", "Responses", "S", "", "", "", "", "ImageLink", "", "No"]

VideoLink

Input video URL.

  • I: Blank
  • Example: ["VideoLink", "Responses", "T", "", "", "", "", "VideoLink", "", "No"]

StaticText

Static text display.

  • I: Text
  • Example: ["StaticText", "", "", "", "", "", "", "StaticText", "This is static text", "No"]

Table

Displays a sheet range with media.

  • I: Range (e.g., "Sheet1!A1:F10")
  • Behavior: Renders URLs as images (Google Drive) or videos (YouTube)
  • Example: ["Table", "", "", "", "", "", "", "Table", "Sheet1!A1:F10", "No"]
  • Sample Sheet1:
    ABCDEF
    ItemPriceImageVideoDescriptionStock
    Widget10https://drive.google.com/uc?id=1A2B3Chttps://youtu.be/dQw4w9WgXcQSmall widget100

Checkout

Table for selecting items with quantities, unit prices, and totals (includes tax).

  • I: Range (e.g., "Sheet1!A2:B10") with Description and Price columns
  • Behavior: Users select items, set quantities; displays subtotal, tax, and total
  • Output: Saves as JSON (e.g., [{"description":"Widget","quantity":2,"unitPrice":10}])
  • Example: ["Checkout", "Orders", "A", "", "", "", "", "Checkout", "Sheet1!A2:B10", "Yes"]
  • Sample Sheet1:
    AB
    DescriptionPrice
    Widget10
    Gadget20

Hyperlink

Displays a clickable link with custom text.

  • I: URL
  • Behavior: Renders as a styled link; no user input
  • Example: ["Hyperlink", "", "", "", "", "", "", "Hyperlink", "https://datamateapp.github.io/Donate%205%20per%20mo.html", "No"]

Container

Groups fields with styling.

  • I: Inline CSS
  • Example: ["Container", "", "", "", "", "", "", "Container", "border: 2px dashed #4CAF50;", "No"]

Header

Styled header with HTML support.

  • I: Text, CSS, or HTML
  • Example: ["Form Header", "", "", "", "", "", "", "Header", "Your custom html", "No"]

Footer

Styled footer with HTML support.

  • I: Text, CSS, or HTML
  • Example: ["Form Footer", "", "", "", "", "", "", "Footer", "Your custom html", "No"]

Preview & Deploy

1. Preview Form
Navigate to DataMate > FormBuilder > Preview Form to review your form before deployment or use internally to protect formulas.

2. Deploy as a Web App (via Google Apps Script)
- Optional: Use Open Source Code
To open the Apps Script Editor click Extentions>Apps Script.
Delete existing code, copy the provided open-source code from our website and paste it into the Apps Script Editor.
- Steps to Deploy:
1. In the Apps Script Editor, click Deploy > New Deployment.
2. Select Web App.
3. Configure the deployment settings:
- Description: Enter a name, e.g., "DataMate FormBuilder".
- Execute as: Select "Me" (runs under your Google account).
- Who has access: Choose either:
- "Anyone" (public access).
- "Anyone with a Google account" (restricted to Google users).
4. Click Deploy.
5. Authorize Permissions:
- Click>Advanced then Go to Untitled project (unsafe).
- When prompted, review the permissions requested by the script (e.g., access to Google Drive).
- Sign in with your Google account if required.
- Click Allow to grant the necessary permissions for the web app to function.
6. Copy the generated Web App URL.

3. Share the Form
Share the Web App URL with users to access the form directly in their browsers.

Collect Data

Share the URL. Data saves to the target sheet based on submission type. Dynamic table data is serialized as JSON in a single cell for TableRow submissions.

Setup Contact Sheets

Select "DataMate > AddressBlock > Add Contact Sheets" to create contacts, Address, and NewContact sheets.

Import Contacts

Use "Import Gmail™ Contacts" to upload a CSV file from Gmail or Outlook into contacts.

Watch the AddressBlock Video

Add New Contacts

Enter details in NewContact and save via "AddressBlock > Save New Contact."

Generate Address Blocks

In Address, set F1 to a cell reference, then use "AddressBlock > Address Block Name" or "Company" to populate contact data.

📧 New: Mail It Sidebar

Located in DataMate > AddressBlock > Mail It, this opens a sidebar email tool for sending messages to selected contacts. Features:

  • Loads contact email and details from the “Address” or “contacts” sheet
  • Supports Gmail-style sending with subject/body input
  • Requires authorization to send emails from your account

Tips

  • Use NewContact for data integrity.
  • Edit contacts directly for updates.

Example custom html Headers and Footer

Paste these into FormSetup!column I:

Navigation Showcase Features Footer

Job Application Form Template

Paste this into FormSetup!A10:J:

ABCDEFGHIJ
Form HeaderHeader

Job Application Form

No
Section 1: Personal InformationContainerbackground: #f0f0f0; padding: 10px;No
Full NameResponsesBTextYes
StreetResponsesCTextYes
CityResponsesDTextYes
StateResponsesETextYes
ZIPResponsesFTextYes
Phone NumberResponsesGTextYes
Email AddressResponsesHEmailYes
Are you at least 18 years old?ResponsesIRadioYes,NoYes
Section 2: Position InformationContainerbackground: #f0f0f0; padding: 10px;No
Position Applying ForResponsesJDropdownDeveloper,Designer,ManagerYes
Desired SalaryResponsesKRadio$40,000-$50,000,$50,001-$60,000,$60,001+Yes
Date Available to StartResponsesLDateYes
Full-timeResponsesMCheckboxNo
Part-timeResponsesNCheckboxNo
WeekendsResponsesOCheckboxNo
EveningsResponsesPCheckboxNo
How did you hear about this position?ResponsesQDropdownWebsite,Referral,Job BoardYes
Section 3: Employment EligibilityContainerbackground: #f0f0f0; padding: 10px;No
Are you legally authorized to work in this country?ResponsesRRadioYes,NoYes
Will you now or in the future require work sponsorship?ResponsesSRadioYes,NoYes
Section 4: Employment HistoryContainerbackground: #f0f0f0; padding: 10px;No
Employer NameResponsesTTextYes
Job TitleResponsesUTextYes
Start DateResponsesVDateYes
End DateResponsesWDateYes
Duties and ResponsibilitiesResponsesXTextareaYes
Supervisor’s Name and Contact InfoResponsesYTextYes
May we contact this employer?ResponsesZRadioYes,NoYes
Reason for LeavingResponsesAATextYes
Section 5: EducationContainerbackground: #f0f0f0; padding: 10px;No
Institution NameResponsesABTextYes
Degree or Certification EarnedResponsesACTextYes
Field of StudyResponsesADTextYes
Graduation DateResponsesAEDateYes
Section 6: Skills and QualificationsContainerbackground: #f0f0f0; padding: 10px;No
List relevant skillsResponsesAFTextareaYes
Certifications or LicensesResponsesAGTextNo
Section 7: ReferencesContainerbackground: #f0f0f0; padding: 10px;No
Reference Full NameResponsesAHTextYes
RelationshipResponsesAITextYes
Phone/EmailResponsesAJTextYes
Years KnownResponsesAKTextYes
Section 8: Legal and BackgroundContainerbackground: #f0f0f0; padding: 10px;No
Have you ever been convicted of a felony?ResponsesALRadioYes,NoYes
If yes, please explainResponsesAMConditionalHave you ever been convicted of a felony?=YesNo
Do you consent to a background check?ResponsesANRadioYes,NoYes
Section 9: DeclarationContainerbackground: #f0f0f0; padding: 10px;No
I certify that the information provided is true and completeResponsesAOCheckboxYes
SignatureResponsesAPSignatureYes
DateResponsesAQDateYes
Form FooterFooterNo

Note: Adjust column I as needed (e.g., customize dropdowns, add more history/reference sections).

For help, visit: