Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/vrashmanyu605-eng/Agentic_Sales-Markerting/llms.txt

Use this file to discover all available pages before exploring further.

After each lead completes the full agent pipeline, the CRM update agent automatically writes a row of lead data to a Google Sheet. This gives you a running log of every processed lead — including meeting summaries, client requirements, opportunity values, and next steps — without any manual data entry.
Never commit credentials.json to version control. It contains a private key that grants full write access to any sheet shared with the service account. Add credentials.json to your .gitignore immediately after downloading it.
1

Create a Google Cloud project

Go to console.cloud.google.com and sign in with your Google account. In the project selector at the top of the page, click New Project, give it a name (e.g., agentic-sales), and click Create.If you already have a suitable project, select it instead of creating a new one.
2

Enable the Google Sheets API

In the left sidebar, navigate to APIs & ServicesLibrary. Search for Google Sheets API and click on the result. Click Enable.Wait for the API to activate before continuing to the next step.
3

Create a service account

In the left sidebar, navigate to IAM & AdminService Accounts. Click Create Service Account.Fill in a name (e.g., agentic-sales-crm) and an optional description. Click Create and Continue.On the permissions step, you do not need to grant any IAM roles — the service account only needs access to the specific sheet you share with it. Click Continue, then Done.
4

Download credentials.json

In the Service Accounts list, click on the service account you just created. Go to the Keys tab and click Add KeyCreate new key. Select JSON and click Create.A file downloads automatically. Rename it to credentials.json and place it in the root of the project (the same directory as main.py):
Agentic_Sales-Markerting/
├── credentials.json      ← place it here
├── main.py
├── graph/
├── agents/
└── tools/
5

Create your Google Sheet

Go to sheets.google.com and create a new blank spreadsheet. Give it a name you’ll recognize, such as Agentic Sales CRM.
Add column headers to row 1 of your spreadsheet manually before running the pipeline for the first time. Use these headers in order: Client Name | Meeting Summary | Requirements | Opportunity Value | Next Steps. The tool appends data starting at the first empty row, so headers in row 1 ensure your data stays organized.
6

Share the sheet with your service account

In the spreadsheet, click Share in the top-right corner. In the credentials.json file you downloaded, find the client_email field — it looks like [email protected].Paste that email address into the share dialog, set the permission to Editor, and click Send. You do not need to notify the service account.
7

Get the spreadsheet ID

The spreadsheet ID is in the URL when you have the sheet open:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
Copy the value between /d/ and /edit. It is a long alphanumeric string, for example: 1MsG4jkVacHwuw2cxTQ_Vt5cW5qKoBgGJH1IqfDCdRto.
8

Configure main.py

Open main.py and set spreadsheet_id and spreadsheet_range in initial_state:
# main.py

initial_state = {

    # ...

    "spreadsheet_id": "your-spreadsheet-id-here",

    "spreadsheet_range": "Sheet1!A1",

    # ...
}
spreadsheet_range tells the Sheets API where to start looking for the first empty row. Sheet1!A1 is the default tab name. If you renamed your tab, use that name instead (e.g., Leads!A1).

Column layout

The CRM update agent writes one row per lead with these columns in order:
ColumnContents
A — Client NameThe company name of the processed lead
B — Meeting SummaryA summary of the discovery information and research
C — Client RequirementsThe requirements and needs identified for this lead
D — Opportunity ValueEstimated deal value and revenue potential
E — Next StepsRecommended actions to advance the deal
The tool uses append mode — each run adds new rows to the sheet. It does not overwrite or delete existing rows. This means you can run the pipeline multiple times and all results accumulate in the same sheet.

Build docs developers (and LLMs) love