I have a studio with multiple subscribers. I would like to add the ability to connect to a google sheet to read and write information. This would be used as an interactive CRM. But there are many salespeople in the subscriber base. Is it possible to set this up where individual users could connect to their own google sheet to store the CRM data?
Hi @dougfresh,
Just to make sure I understand correctly, your main objective is to build an AI-powered, interactive CRM for your salespeople using a Pickaxe agent. The specific outcome you are looking for is data segregation at the user level, and you’re asking if it’s possible for each individual salesperson to connect the central Pickaxe agent to their own personal Google Sheet.
Essentially, you are envisioning a “bring your own database” model, where one agent serves all users, but each user’s data is stored in their private spreadsheet.
While that is an interesting approach, for security, compliance, and data management reasons, we strongly recommend a centralized model. This approach is more robust and aligns with standard business practices for managing sensitive CRM data.
Recommended Approach: The Centralized Custodian Model
This model ensures all data is secure and managed from a single point of control. The easiest way to set this up is by creating a simple, custom MCP server using Make.com.
- Appoint a Single Data Custodian: Designate one person (a team lead, an administrator, or yourself) to be the official owner of the CRM data. This person is responsible for the master spreadsheet and the Make.com connection.
- Create One Master Google Sheet: The custodian will create and control a single Google Sheet that will serve as the central CRM for the entire team. You can add a “Salesperson” column to track who adds each record.
- Build the Connection in Make.com:
- Create a new scenario in Make.com.
- The trigger should be Webhooks > Custom webhook. When you add this, Make.com will generate a unique URL. Copy this URL—it is the endpoint for your custom MCP.
- The action should be Google Sheets > Add a Row. Connect the custodian’s Google account and select the master spreadsheet. Map the fields from the webhook to the columns in your sheet (e.g.,
Name
,Email
,Notes
).
- Add the Custom MCP to Pickaxe: You will now tell your Pickaxe agent about this endpoint.
- Create a simple JSON configuration that defines the action your agent can take. It should specify a name for the action (e.g.,
add_crm_entry
) and include the webhook URL you copied from Make.com. - In your Pickaxe agent, navigate to the Actions tab.
- In the “Your MCP Servers” section, click the Add button. Paste the JSON configuration you created into the text field and save it.
- Click the final Connect button next to your new MCP.
Your agent can now use the add_crm_entry
action, and any data it sends will go directly to your master Google Sheet via the Make.com scenario.
Advanced: Per-User Connection Model
If your project specifically requires the model where each user connects their own sheet, it can be accomplished. Please be aware this is a more complex implementation that uses the
Pickaxe Studio API , a Pro feature.
Part 1: The User Setup (Done by each Salesperson)
Each salesperson must create their own “receiver” in Make.com.
- Create a Make.com Scenario: Each user creates a new scenario.
- Add a Webhook Trigger: The first module is Webhooks > Custom webhook. This generates a unique URL for that user.
- Add a Google Sheets Action: The second module is Google Sheets > Add a Row. The user connects their own Google Account and personal spreadsheet.
- Provide the URL: The user must give their unique webhook URL to you, the Studio administrator.
Part 2: The Admin Setup (Your Responsibility)
You must collect the unique webhook URL from each salesperson and store it in their Pickaxe user profile.
- Collect Webhook URLs: Gather the unique Make.com webhook URLs for each salesperson.
- Store URLs in User Memories: You will use the Pickaxe Studio API to save each user’s unique webhook URL in their “User Memory.” The Studio API gives you programmatic control to create and adjust user memories. For each user, you will make an API call to create a memory key (e.g.,
user_gsheet_webhook
) and set the value to their specific URL.
Part 3: The Custom Agent Action (The Core Logic)
Finally, you will create a custom Action (an MCP) for your agent. This action acts as a smart router. When a user asks to save CRM data, the action must be programmed to:
- Get the Current User’s ID: Identify the user interacting with the agent.
- Retrieve the Webhook from Memory: Make a call to the Pickaxe Studio API to read the
user_gsheet_webhook
value from the current user’s memory. - Send the Data: Make an HTTP POST request to that user’s unique webhook URL, sending the CRM data as a JSON payload.
Hope this helps!
Hi,
My understanding is if we use MCP to access to maintain our GoogleSheet, we actually don’t need webhook anymore. We can rely on scenario input of make.com
And to prompt pickaxe to trigger the MCP when required as in this access to add record to G Sheet
Hi @netmstr That’s an excellent question, and you are correct for the initial recommended solution. The difference comes down to whether you are connecting to one destination or many different destinations.
Let me clarify the two models.
Model 1: Centralized CRM (One Sheet for Everyone)
For this model, you are 100% right.
- The Pickaxe agent connects to one Make.com scenario that updates one master Google Sheet.
- In this setup, the MCP is the direct trigger for the Make.com scenario. You prompt the agent, it runs the MCP, and Make.com receives the data.
- No webhook is needed because the destination never changes.
Model 2: Advanced Per-User CRM (A Separate Sheet for Each Person)
This is where the webhook becomes necessary. The original poster asked for a way to let every salesperson connect to their own personal Google Sheet.
- The Challenge: How can a single agent action send data to 10 different salespeople in 10 different spreadsheets? A standard MCP can only point to one destination.
- The Webhook as a Solution: The webhook acts like a unique address for each user’s personal automation.
- Each salesperson creates their own Make.com scenario, which has a unique webhook URL (its address).
- We store each user’s unique URL in their “User Memory” using the Pickaxe Studio API.
- When a user talks to the agent, the custom MCP’s only job is to look up that specific user’s “address” from their memory and send the data there.
Think of it this way: the centralized model sends all packages to a single office mailroom. The advanced model looks up each employee’s home address in a directory and sends their package directly to their house. The webhook is that unique home address.
Hope that clarifies things