Google Sheets Integration with myCRMSIM

Connect Google Sheets to myCRMSIM and use spreadsheet data in your workflows to send messages, personalize communications, and import contacts into your CRM.
This guide covers connecting your Google account, preparing your spreadsheet, configuring the Google Sheets Read action, mapping contact fields, controlling message delivery, and monitoring workflow executions.
Minimum Requirement: myCRMSIM Dashboard v0.14.15 or newer. You can check your dashboard version in the bottom-left corner, next to the Changelog link.
✨ What You Can Do
  • Send messages without importing contacts: Read phone numbers directly from Google Sheets and connect Google Sheets Read to the Send Message action. When Create contacts in CRM is disabled, spreadsheet rows can be processed without creating new CRM contacts.
  • Send messages after importing contacts: Enable Create contacts in CRM to create new CRM contacts from spreadsheet rows. Connect the Send Message action after Google Sheets Read to send SMS/MMS messages to the processed recipients.
  • Find existing contacts: Look up spreadsheet data for existing contacts and use it in your workflows.
  • Personalize messages: Use spreadsheet values such as {{sheet.First Name}}, {{sheet.Company}}, and {{sheet.Message}} to personalize messages for each row.
Messaging workflow structure:
Auto Trigger → Google Sheets Read → Send Message


Google Sheets Read supplies spreadsheet rows to the next action. Send Message uses the mapped phone number or linked CRM contact to send the configured message. A valid phone number, an active SMS-capable device, correctly configured Message Routing, and an active workflow are required for message delivery.

Prerequisites

Make sure the following requirements are ready:
  1. An active myCRMSIM account is required.
  2. An active HighLevel account is required, with access to the required agency or sub-account.
  3. At least one messaging device—Android, iMessage, or WhatsApp—must be connected and active.
  4. The device must be able to send and receive messages successfully.
  5. An active Google account and a properly formatted Google Sheet must be available for the Google Sheets integration.
  6. The Google Sheet must contain valid contact details, especially phone numbers in international format.

Device Assignment and Message Routing Verification

  1. Open the Subaccount SIM section in myCRMSIM.
  2. Select the required sub-account.
  3. Confirm that the required Android, iMessage, or WhatsApp device is assigned to that sub-account.
  4. Verify that the device status is Connected or Active.
  5. Open the Message Routing settings.
  6. Enable the required messaging channel, such as WhatsApp, Android SMS, or iMessage.
  7. Set the assigned device as the priority or default route for the selected channel.
  8. Save the routing settings.
Google Sheets Integration with myCRMSIM, screenshot 1
šŸ”— Part 1: Connect Google Sheets
  1. Log in to your myCRMSIM Dashboard.
  2. Navigate to Integrations from the left-hand menu.
  3. Find the Google Sheets integration card.
  4. Click Connect.
  5. Select the Google account that contains your spreadsheet.
  6. If Google displays the message "Google hasn't verified this app," click Go to mySMSGateway (unsafe), review the requested permissions, and click Allow to continue.
  7. After authorization, return to the Integrations page and confirm that the connection was successful.
The Google Sheets card should display 1 account connected and a Manage Account button. The Google Sheets panel below should also show your account email and the status Connected.
Manage Your Google Account
  • Connect another account: Open Manage Account → Connect another account.
  • Check connection status: Review your account in the Google Sheets panel.
  • Disconnect an account: Use the disconnect option under Manage details and settings.
Note: Workflows that depend on a disconnected Google account will fail until the connection is restored.
Google Sheets Integration with myCRMSIM, screenshot 2
šŸ“‹ Part 2: Prepare Your Spreadsheet
Prepare a Google Sheet with a header row containing clear column names. For messaging workflows, include a Phone Number column.
Keep the headers in row 1 unless your spreadsheet contains a title or notes above them. In that case, specify the correct header row when configuring the action.
Example: Contacts Spreadsheet
Google Sheets Integration with myCRMSIM, screenshot 3
šŸ’” Tip: Preserve Phone Number Formatting
Format the Phone Number column as Plain text in Google Sheets to preserve the + sign in international phone numbers.
Whenever possible, use the full international format, such as +923******67.
If your spreadsheet contains local numbers without a country code, configure Default country code in the Google Sheets Read action.
šŸ’” Important: Default Country Code Applies to One Country
The Default country code setting applies to local numbers from one selected country that do not already contain an international country code.
For example, selecting Pakistan (+92) allows a local number such as 0300******7 to be converted to +92300*****67.
If your spreadsheet contains numbers from multiple countries, include the correct country code in each phone number instead of relying on one default country code.
Important: Spreadsheet rows can be used for messaging even when they are not imported as new CRM contacts. The Create contacts in CRM setting controls contact creation; it does not prevent a row from continuing to the Send Message action.
āš™ļø Part 3: Create a Workflow
  1. Open Automations → Workflows.
  2. Click + New Workflow.
  3. Select Start from Scratch.
  4. Enter a workflow name, such as Google Sheets Contacts Integration.
  5. In the left panel, search for and add Auto Trigger.
  6. Add Google Sheets Read and connect it directly to Auto Trigger.

The workflow should use this structure for spreadsheet messaging:

    Auto Trigger → Google Sheets Read → Send Message

    Configure the nodes as follows:

    1. Auto Trigger: Starts the Google Sheets workflow.
    2. Google Sheets Read: Reads the selected spreadsheet rows and passes each eligible row to the next step.
    3. Send Message: Sends an SMS/MMS to the phone number mapped from the spreadsheet row or to the linked CRM contact.


    Important: Connect Google Sheets Read directly after Auto Trigger, then connect Send Message directly after Google Sheets Read. Do not place Send Message before Google Sheets Read because the spreadsheet values and recipient information must be available before the message action runs.
    Google Sheets Integration with myCRMSIM, screenshot 4

    This workflow supports two modes:

    • Messaging without CRM import: Disable Create contacts in CRM. Spreadsheet rows can still continue to Send Message without creating new CRM contacts.
    • Messaging with CRM import: Enable Create contacts in CRM. New spreadsheet entries can be created as CRM contacts, while existing contacts may be linked or skipped according to the duplicate-contact rules.

    How the Nodes Work

    • Auto Trigger: Starts the workflow when it is activated and saved. It does not provide a contact or spreadsheet row by itself.
    • Google Sheets Read: Reads spreadsheet rows and makes their values available to subsequent workflow steps. In Read all rows — run next steps for each row mode, the next actions run once for each eligible row.
    • Send Message: Sends the configured SMS/MMS using the phone number mapped from the spreadsheet row or the linked CRM contact. Use merge fields such as {{sheet.First Name}}, {{sheet.Company}}, or {{sheet.Message}} where applicable.
    šŸ› ļø Part 4: Configure Google Sheets Read
    Click the Google Sheets Read node to open its settings panel.
    4.1 Select Your Google Account and Spreadsheet
    Configure the following fields:
    • Google account: Select the connected Google account containing your spreadsheet.
    • Spreadsheet: Click Browse sheets… and select your file, or paste its Google Sheets URL if browsing is unavailable.
    • Sheet tab: Select the tab or tabs you want to read. Multiple tabs are processed one after another using the same header row, mapping, filter, and pacing settings.
    • Header row: Enter the row number containing your column names. The default is 1.
    Duplicate phone numbers encountered in earlier tabs are skipped when the same list is processed.
    4.2 Filter Spreadsheet Rows (Optional)
    Use Only rows where to process specific rows instead of the entire spreadsheet.
    For example:
    • Process only rows where Tag matches Customer.
    • Process only rows where Phone Number is not empty.
    Leave the filter empty to process all eligible rows. Text comparisons ignore letter case.
    4.3 Choose the Reading Mode
    Select the mode that matches your workflow.
    Read all rows — run next steps for each row
    Reads the spreadsheet and runs subsequent workflow steps for each row. Use this mode to process a list of contacts, send messages, or import contacts.
    Look up each contact's row — adds {{sheet.Column}} values
    Finds the corresponding spreadsheet row for an existing contact and makes its column values available to the workflow. Use this mode when a workflow starts with a contact and needs additional information from the spreadsheet.
    4.4 Map Spreadsheet Columns to Contact Fields
    Under Column mapping, match your spreadsheet columns to the appropriate CRM contact fields.

    Sheet columnĀ 

    Contact field

    First NameĀ First Name
    Last NameĀ  Last Name

    Email
    Email
    Phone NumberĀ 
    Phone Number
    TagĀ 
    Tags (comma-separated)
    CompanyĀ Company name
    Use + Add mapping, Auto-map columns, or + New custom field as needed.
    Important: A valid phone number is required for messaging.

    Mapping Fields Used by Send Message

    At minimum, map the spreadsheet's phone column to the contact phone field.

    Sheet Column
    Contact Field
    Purpose
    Phone Number
    Phone Number
    Recipient for Send Message
    First Name
    First Name
    Personalization, such as {{contact.first_name}}
    Message
    Custom field or sheet value
    Row-specific message text, such as {{sheet.Message}}
    The Phone Number mapping is required for messaging.
    • For a fixed message sent to every row, enter the message directly in the Send Message action.
    • For a different message for each row, configure the action to use {{sheet.Message}}.
    4.5 Configure Phone Numbers and Country Codes
    Set the Default country code for local phone numbers that do not already contain an international country code.
    For example, selecting Pakistan (+92) allows a local number such as 0300******7 to be converted to +9230*****67.
    • Numbers already containing an international country code are retained.
    • Invalid phone numbers or numbers that cannot be validated are marked as Failed in Execution Logs.
    • Duplicate phone numbers within the spreadsheet are processed only once; subsequent duplicates are skipped.
    If your spreadsheet contains numbers from multiple countries, include the appropriate international country code in each number.
    4.6 Import Contacts into Your CRM
    The Create contacts in CRM setting controls whether new spreadsheet entries are saved as CRM contacts. It supports two different messaging workflows.
    Disabled — Send messages without importing new contacts
    • Spreadsheet rows are still read and can continue to the Send Message action.
    • New contacts are not created in the CRM.
    • An existing CRM contact may still be linked when the phone number matches.
    • Use this option when the spreadsheet is only being used as a temporary messaging list.
    Enabled — Import contacts and send messages
    • New spreadsheet entries can be created as CRM contacts.
    • Existing contacts with duplicate phone numbers may be linked or skipped.
    • Contact fields and tags can be mapped from the spreadsheet.
    • After Google Sheets Read processes the row, it can continue to the Send Message action.
    In both modes, a valid phone number is required for messaging.
    Contact creation and message delivery are separate workflow behaviors. The Create contacts in CRM setting controls contact creation, while the Send Message action performs message delivery.
    Contacts created through this action do not trigger Contact Created workflows, helping prevent the workflow from triggering itself again.
    4.7 Configure Sending Pace

    Use the pacing settings to control how quickly rows proceed to the next workflow step.

    Setting

    Description

    Default

    Rows per batch
    Number of rows processed togetherĀ 1
    Seconds between batches
    Delay between batches
    60 seconds
    Random extra seconds
    Additional randomized delay
    30 seconds
    Send all rows at onceProcesses all rowsĀ simultaneouslyNot recommended
    Recommended: Keep the default pacing of one row per batch, with a 60-second delay and up to 30 additional random seconds.
    This spreads out processing and can help reduce sudden message bursts. Always follow the applicable messaging platform's sending limits and policies.
    Google Sheets Integration with myCRMSIM, screenshot 5

    Part 5: Add the Send Message Action

    To send SMS/MMS messages from spreadsheet rows, add a Send Message action after Google Sheets Read.
    Workflow structure:
    Ā  Ā  Ā  Auto Trigger → Google Sheets Read → Send Message
    Configure the recipient and message fields according to your requirements.


    Recipient using the linked contact
    {{contact.number}}

    One fixed message for every row

    Assalam o Alaikum, this is your automated update from myCRMSIM.

    Personalized message using sheet columns

    Hi {{sheet.First Name}}, your update is ready.

    Different message for each spreadsheet row

    {{sheet.Message}}Use the actual merge fields supported by your Send Message action and dashboard version.

    Important

    The Send Message action can be used whether Create contacts in CRM is enabled or disabled. When disabled, the workflow can still process spreadsheet rows without creating new CRM contacts. When enabled, the row may create or link a CRM contact before the message step runs.
    Before activating the workflow, verify that:
    • The Phone Number column is mapped correctly.
    • Phone numbers contain a country code or a Default country code is configured.
    • An active SMS-capable device is assigned to the workspace.
    • Workspace Message Routing is configured for SMS/default routing.
    • The message contains the intended text and merge fields.
    • The workflow is activated only when the spreadsheet is ready to be processed.
    Google Sheets Integration with myCRMSIM, screenshot 6
    ā–¶ļø Part 6: Save and Run the Workflow
    1. Click Save in the Workflow Builder.
    2. Confirm that the workflow contains Auto Trigger → Google Sheets Read → Send Message.
    3. Verify the Google account, spreadsheet, tab, header row, phone mapping, and message configuration.
    4. Change the workflow status from Draft to Active.
    5. Click Save again to activate the workflow and start its initial run.
    6. Open Execution Logs and confirm that Google Sheets Read and Send Message completed for the expected rows.
    7. Important: Activating the workflow can process the selected spreadsheet rows and send messages. Review the spreadsheet, recipient mapping, message content, and sending pace before changing the workflow to Active.
    How to Run the Workflow Again

    Situation

    Expected Behavior

    Save changes while the workflow is Active
    Does not start a new run and may stop an ongoing run.
    Start a fresh runChange the status to Draft, then back to Active, and save.
    Messaging note: Activating the workflow again can start a fresh spreadsheet run. If the same rows are processed again, messages may be sent again unless a filter, status column, or other duplicate-prevention method is used.
    Google Sheets Integration with myCRMSIM, screenshot 7
    šŸ“ˆ Part 7: Monitor Execution Logs
    Use Execution Logs to check whether spreadsheet rows were processed successfully.
    1. Open the workflow.
    2. Select the Execution Logs tab.
    3. Review the Execution History section.
    4. Click Refresh to load the latest results.
    5. Use the available filters to review Completed, Failed, Running, Waiting, Pending, or Cancelled executions.
    Each execution record may include:
    • Contact: The contact associated with the row.
    • Trigger: Auto Trigger.
    • Action: Google Sheets Read.
    • Duration: Time taken to execute.
    • Started At / Finished At: Execution timestamps.
    • Status: The execution result.
    A COMPLETED status indicates that the recorded execution finished successfully. Review any failed executions separately to identify rows that need attention.
    Google Sheets Integration with myCRMSIM, screenshot 8
    šŸ‘„ Part 8: Verify Imported Contacts
    If Create contacts in CRM is enabled, verify that the contacts were created correctly.
    1. Open Contacts from the left-hand menu.
    2. Review the Total Contacts count.
    3. Search for the imported contacts.
    4. Confirm that their names, email addresses, phone numbers, and tags match the spreadsheet.
    The total contact count increases only when new contacts are created; existing or duplicate contacts may be skipped.
    Google Sheets Integration with myCRMSIM, screenshot 9

    Verify Messages in Message Logs

    After running the workflow, verify that messages were sent successfully.

    1. Open Message Logs in the myCRMSIM dashboard.
    2. Check the latest logs for the test contacts used in your Google Sheet.
    3. Verify that the recipient's phone number and message content are correct.
    4. Confirm that the message status indicates successful sending.
    5. If messages are missing or failed, review the workflow execution logs and check the device status, message routing, phone number format, and available credits.
    Note: A successful workflow execution does not always mean every message was sent successfully. Always verify the individual message entries in Message Logs.
    Google Sheets Integration with myCRMSIM, screenshot 10
    šŸ”§ Troubleshooting
    Google Sheets does not show the Connect button
    Make sure you are on the correct workspace's Integrations page and have permission to connect integrations.


    Google displays "Google hasn't verified this app"
    Review the warning and permissions before proceeding. Continue only if the integration is trusted and approved by your organization. Contact your administrator if you are unsure.


    The action says "Connect a Google account to configure"
    Connect your Google account under Integrations before configuring the action.


    Rows are processed, but messages are not sent
    Verify all of the following:
    • The workflow contains Auto Trigger → Google Sheets Read → Send Message.
    • The Phone Number column is mapped correctly.
    • The phone number includes a valid international country code, or Default country code is configured.
    • The Send Message action contains a message or a valid {{sheet.Message}} merge field.
    • An active SMS-capable device is assigned to the workspace.
    • Workspace Message Routing is configured for SMS/default routing.
    • The device is online and has the required SMS permissions.
    • Execution Logs show whether Google Sheets Read succeeded but Send Message failed.
    • The workflow is Active and saved after the latest configuration changes.


      Can I send messages without importing contacts?
      Yes. Keep Create contacts in CRM disabled in Google Sheets Read, map the Phone Number column, and connect Google Sheets Read directly to Send Message. Spreadsheet rows can continue to the message action without creating new CRM contacts. Existing contacts may still be linked when their phone numbers match.


      Can I import contacts and send messages in the same workflow?
      Yes. Enable Create contacts in CRM, map the contact fields, and connect Google Sheets Read to Send Message. New contacts can be created or existing contacts can be linked before the message action runs.


      Some rows show Failed in Execution Logs
      Check for duplicate phone numbers, invalid numbers, missing country codes, and other execution errors.


      Phone numbers lose the + sign
      Format the phone number column as Plain text in Google Sheets and verify that the numbers include the correct country codes.


      The workflow does not run after saving
      Make sure the workflow is set to Active when you save. To initiate a new run, switch it to Draft, then Active, and save again.


      The workflow stops before processing every row
      Review Execution Logs for failed or cancelled executions. If the workflow was changed while active, set it to Draft, review its configuration, and activate it again for a fresh run.


      The Google account disconnects
      Reconnect the account through Integrations → Manage Account and verify that the status returns to Connected.


      The spreadsheet cannot be found using Browse sheets
      Use the spreadsheet URL instead and confirm that the connected Google account has access to the file.


      Some sheet tabs are missing
      Check whether the affected tabs are accessible and readable by the connected Google account. Review any notice indicating that tabs could not be read.
      āœ… Quick Setup Checklist
      Before running your workflow, confirm the following:
      • Google Sheets is connected under Integrations.
      • The spreadsheet contains a header row and a Phone Number column.
      • Phone numbers include valid country codes, or a default country code is configured.
      • The workflow contains Auto Trigger → Google Sheets Read → Send Message.
      • The correct Google account, spreadsheet, sheet tab, and header row are selected.
      • Filters and column mappings are configured correctly.
      • The Phone Number column is mapped to the recipient/contact phone field.
      • The Send Message action contains a fixed message or a valid sheet merge field such as {{sheet.Message}}.
      • Create contacts in CRM is enabled or disabled according to whether contacts should be imported.
      • An active SMS-capable device is assigned to the workspace and Message Routing is configured.
      • Sending pace is configured appropriately.
      • The workflow has been reviewed before changing it from Draft to Active.
      • Execution Logs have been reviewed for completed and failed rows.
      • Imported contacts and their details have been verified, if applicable.
      šŸ“ Summary
      The myCRMSIM Google Sheets integration can be used to send SMS/MMS messages directly from spreadsheet rows. The standard messaging workflow is:
      Ā  Ā Auto Trigger → Google Sheets Read → Send Message
      Contacts do not have to be imported into the CRM to send messages. Disable Create contacts in CRM when the spreadsheet should be used only as a temporary messaging list. Enable Create contacts in CRM when spreadsheet entries should also be created or linked as CRM contacts. InĀ both cases, Google Sheets Read passes eligible rows to Send Message, which uses the mapped phone number and configured message. Before activating the workflow, verify the spreadsheet, Phone Number mapping, message merge fields, SMS device, workspace Message Routing, and sending pace. Use Execution Logs to confirm both spreadsheet processing and message-action results.
      šŸ”— Related Articles
      Ā 

      Was this article helpful?

      0 out of 0 liked this article

      Still need help? Message Us