Command Center
No companies loaded
Configure your Google Apps Script in settings to get started
No leads loaded
Load data from your spreadsheet to see leads
Select a Lead to view Information
Due Tasks
No tasks due
Tasks will appear here when contacts have active sequence steps
Select a task to execute
Activity Log
No activity logged
Your communication history will appear here
Select a log entry to view details
Video Library
Record and save videos to use in your emails and sequences. You can store up to 5 videos.
No saved videos yet
Record videos to use in your emails and sequences
Document Library
Upload commonly used documents (proposals, contracts, brochures, etc.) to quickly attach them to emails and sequence steps.
No documents yet
Upload documents to attach to your emails and sequences
Sequences
No sequences created
Create sequences to automate your outreach workflow
Select a sequence to edit or create a new one
Lead Finder
Results
Enter a website domain and click "Fetch Leads"
We'll scan the site for contact information
Marketing Leads
Report Filters
Saved Reports
Report Results
Select filters and click "Generate Report" to view insights
Reports help you analyze your outreach performance
Contacts
Post-sale relationship managementNo contacts yet
Convert closed-won leads to contacts to see them here
Select a Contact to view details
Inbox
Call History
No call history
Your call logs will appear here
Select a call to view details
Messages
Select a conversation or start a new one
December 2025
Profile
Loading...
Member since: --
Account Information
Appearance
Subscription
Danger Zone
Permanently delete your account and all associated data. This action cannot be undone. This does NOT cancel your subscription.
Learning Library
Master every feature of CrawlSpace CRM. Click a topic to learn, then mark it complete.
Settings
Spreadsheet Connection
Email Integration
Calendar & Booking
- Open Google Calendar
- Click "Create" → "Appointment schedule"
- Set the duration (15min, 30min, etc.) and your availability
- Copy the booking page link and paste it below
{{user.calendar_15min}}
{{user.calendar_30min}}
{{user.calendar_45min}}
{{user.calendar_60min}}
Phone System
Phone Not Configured
Set up your phone system to make and receive calls directly from the CRM.
Pricing: $2/month per phone number + $0.02/minute for calls
SMS Messaging
User Preferences
Email Signature
Column Mapping
Tag Options
Extension Setup Instructions
The Chrome extension requires a separate Google Apps Script to import contacts into your sheet. Follow these steps:
- Open your Google Sheet (the same one used for the CRM)
- Go to Extensions → Apps Script
- If you already have the CRM script, create a new script file by clicking + next to "Files"
- Name it ExtensionImport and paste this code:
function doPost(e) { try { var sheet = SpreadsheetRight getActiveSpreadsheet().getActiveSheet(); var data = JSON.parse(e.postData.contents); var mappings = data.columnMappings || {}; var contacts = Array.isArray(data.contacts) ? data.contacts : [data]; // Find the last row with data in column A (company column) var primaryColumn = mappings.company || 'A'; var colNum = columnToNumber(primaryColumn); var lastRowInColumn = getLastRowInColumn(sheet, colNum); contacts.forEach(function(contact, index) { var lastRow = lastRowInColumn + 1 + index; // Map each field to its configured column setCell(sheet, lastRow, mappings.company, contact.company); setCell(sheet, lastRow, mappings.businessType, contact.businessType); setCell(sheet, lastRow, mappings.title, contact.title); setCell(sheet, lastRow, mappings.firstName, contact.firstName); setCell(sheet, lastRow, mappings.lastName, contact.lastName); setCell(sheet, lastRow, mappings.website, contact.website); setCell(sheet, lastRow, mappings.email, contact.email); setCell(sheet, lastRow, mappings.phone, contact.phone); setCell(sheet, lastRow, mappings.phone2, contact.phone2); setCell(sheet, lastRow, mappings.phone3, contact.phone3); setCell(sheet, lastRow, mappings.street, contact.street); setCell(sheet, lastRow, mappings.city, contact.city); setCell(sheet, lastRow, mappings.state, contact.state); setCell(sheet, lastRow, mappings.zip, contact.zip); setCell(sheet, lastRow, mappings.notes, contact.notes); setCell(sheet, lastRow, mappings.status, contact.status); setCell(sheet, lastRow, mappings.statusReason, contact.statusReason); setCell(sheet, lastRow, mappings.territory, contact.territory); setCell(sheet, lastRow, mappings.sequence, contact.sequence); setCell(sheet, lastRow, mappings.currentStep, contact.currentStep); setCell(sheet, lastRow, mappings.dueDate, contact.dueDate); setCell(sheet, lastRow, mappings.amount, contact.amount); setCell(sheet, lastRow, mappings.textingAvailable, contact.textingAvailable); setCell(sheet, lastRow, mappings.tag, contact.tag); setCell(sheet, lastRow, mappings.leadSource, contact.leadSource); setCell(sheet, lastRow, mappings.leadOwner, contact.leadOwner); setCell(sheet, lastRow, mappings.createdDate, contact.createdDate); setCell(sheet, lastRow, mappings.quoteAmount, contact.quoteAmount); }); return ContentService .createTextOutput(JSON.stringify({ success: true, message: contacts.length + ' contact(s) added' })) .setMimeType(ContentService.MimeType.JSON); } catch (error) { return ContentService .createTextOutput(JSON.stringify({ success: false, error: error.toString() })) .setMimeType(ContentService.MimeType.JSON); } } function setCell(sheet, row, column, value) { if (column && value) { sheet.getRange(row, columnToNumber(column)).setValue(value); } } function columnToNumber(column) { var col = column.toUpperCase(); var result = 0; for (var i = 0; i < col.length; i++) { result = result * 26 + col.charCodeAt(i) - 64; } return result; } function getLastRowInColumn(sheet, colNum) { var data = sheet.getRange(1, colNum, sheet.getMaxRows(), 1).getValues(); for (var i = data.length - 1; i >= 0; i--) { if (data[i][0] !== '' && data[i][0] !== null) { return i + 1; } } return 0; } function doGet(e) { return ContentService .createTextOutput(JSON.stringify({ status: 'ready', message: 'CrawlSpace Sheets Integration Active' })) .setMimeType(ContentService.MimeType.JSON); } - Click Save (💾 icon)
- Click Deploy → New Deployment
- Choose type: Web app
- Set "Execute as: Me" and "Who has access: Anyone"
- Click Deploy
- Copy the Web App URL and paste it in the extension settings
- This script is different from the CRM script - it handles importing contacts from the extension
- Make sure your column mappings in the extension match the columns in your sheet
- The extension will automatically use the column settings you configure
Marketing Integrations
Facebook Lead Ads
Not ConnectedAutomatically sync leads from your Facebook Lead Ad forms into CrawlSpace CRM.
LinkedIn Lead Gen Forms
Not ConnectedAutomatically sync leads from your LinkedIn Lead Gen Forms into CrawlSpace CRM.