Activity over time
Reply rate trend - 7-day rolling average
LI: Acceptance vs Reply rate - bubble size = invitations sent
Mail: Reply rate vs Bounce rate - bubble size = emails sent
All LinkedIn Campaigns 0
All Mail Campaigns 0
Leads 0
Select a thread from the list
Booked Calls 0
Feedback
Excluded
Users 0
MCP + Managed service skills
Connect Claude directly to your GRIT data. You get a live MCP connector for each GRIT you have access to, plus four skills that teach Claude how to use it.
api_key in it grants read access to that GRIT's data. Don't share it outside your team.What the skills do
- strategy: Builds your outreach strategy: who to target, what to say and where to start.
- results: Turns campaign data into sprint reports and clear recommendations on what to change.
- research: Finds people and companies, enriches their details and adds them to GRIT, skipping anyone on your exclusion list.
- agents-instructions: Shows how your GRIT agents are set up: your target segments and every brief field, across all your GRITs. It only reads your data and changes nothing.
- feedback: Rates people, companies, messages and calls in GRIT from the chat, just like in the dashboard, and fixes your messages and reply drafts before they go out. It saves nothing without your OK.
Install the Managed service skills
The Managed service skills teach Claude how to work with GRIT once a server below is connected - what data is available and how to use it well. It's the same bundle for every account, so you only need to download it once, and again whenever a new version ships.
• Claude web / desktop: Settings → Capabilities → Skills → Upload skill - each of the five (skills/strategy, skills/results, skills/research, skills/agents-instructions, skills/feedback in the download) uploads separately, so zip each folder on its own first.
• Claude Code: unzip the download, then copy each skills/<name> folder into .claude/skills/<name> (that project only) or ~/.claude/skills/<name> (every project), so each one's SKILL.md ends up at .claude/skills/<name>/SKILL.md.
Add the GRIT MCP server
Each GRIT you have access to below is a separate MCP connector - add the ones you need.
• Claude web / desktop: Settings → Connectors → Add custom connector → paste the Name and URL.
• Claude Code: run claude mcp add --transport http <name> <url> in your terminal.
GRIT knowledge base
Connect Claude to GRIT's shared knowledge base - one MCP connector, not tied to a single GRIT.
key in it grants read access. Don't share it outside your team.Add the knowledge database MCP server
• Claude web / desktop: Settings → Connectors → Add custom connector → paste the Name and URL.
• Claude Code: run claude mcp add --transport http <name> <url> in your terminal.
GRIT search & enrichment
Finds and enriches the companies and decision-makers for your outreach campaigns - installed and updated through one file.
grit-installer.json carries real access credentials in plain text. Don't email it, post it in Slack/Teams, or commit it anywhere - save it directly into your project folder and nowhere else, and never share it with anyone outside your team.What it does
GRIT search & enrichment finds and enriches the companies and decision-makers for your outreach campaigns. Give it a target-audience description, or a list of companies you already have - either way it hands back a file ready to import straight into your GRIT campaign, with verified LinkedIn profiles, emails and targeting notes attached.
- Company & decision-maker search across a large B2B database, filterable by industry, company size, seniority and more.
- LinkedIn & email enrichment, verified before delivery - not just a best guess.
- Company discovery when you don't have a starting list yet, via keyword-based search.
- Specialized add-ons: subscription-commerce detection, mobile app tech detection, person-to-LinkedIn lookup.
- Delivers straight into GRIT - a ready campaign file, or pushed directly.
You'll receive a small file called grit-installer.json. It's how you set up the project the first time, and later how you receive updates - same file, same process, every time. These steps use the Claude app.
First-time installation
1 On your computer, create a new, empty folder for this project.
2 Save the grit-installer.json file you received into that folder.
3 Open the Claude app and open that folder as your project (point it at the folder you just created).
4 In the chat, type:
I have a grit-installer.json file in this folder - please install the project using it.
Claude will download the project code and set up everything it needs (Python environment, dependencies, your access keys). During this step it will show you permission prompts before running certain actions - for example downloading the code, creating a Python environment, or installing packages. These are expected and safe; just click Allow on each one so the installation can finish without interruption.
.env file inside the project folder, and the installer file is deleted automatically (it contains sensitive credentials, so it shouldn't be kept around). Don't share your .env file with anyone.Checking for updates
Once installed, you can check for a newer version whenever you like - no new file needed.
1 Open the same project folder in the Claude app.
2 Ask it:
Can you check if there's an update available for this project?
Claude will compare your local version against the latest release and tell you if one is available - this check never changes anything by itself. If there is an update and you'd like to apply it, just confirm, and Claude will sync the code for you (click Allow on any permission prompts it shows, same as during installation).
Applying a new installer file
From time to time you may receive another grit-installer.json file - for example when we grant you access to an additional campaign, or issue you a fresh access token. This uses the exact same file and the exact same process as a first install, just applied to a project you already have set up.
1 Save the new grit-installer.json file directly into your existing project folder (the one you already installed).
2 Open that project folder in the Claude app.
3 Tell it:
I've received a new installer file - please apply it.
Claude will update your local configuration accordingly and delete the file once it's applied. Click Allow on any permission prompts it shows. Nothing else to do manually.
GRIT create new campaign
Builds a complete outreach campaign - brief, personas, signals, sequence - from deep research on your company and market, then saves it straight into GRIT.
create-new-campaign-installer.json carries real access credentials in plain text. Don't email it, post it in Slack/Teams, or commit it anywhere - save it directly into your project folder and nowhere else, and never share it with anyone outside your team.What it does
GRIT create new campaign builds a full outreach campaign from deep research on your company, market and case studies - not just your homepage. It hands back a complete campaign (brief, persona profiles, sender story/style, signals, message sequence), ready to save straight into your GRIT account.
- Deep research across your entire website, case studies and market context, not a shallow single-page fetch.
- Input quality gate that stops and tells you exactly what's missing instead of shipping a generic campaign.
- Full campaign build: marketing brief, persona profiles, sender story/style, signals, message sequence.
- Live validation against real prospects before anything ships.
- Saves directly into GRIT - brief, profiles, signals and sequence in one go.
You'll receive a small file called create-new-campaign-installer.json. It's how you set up the project the first time, and later how you receive updates - same file, same process, every time. These steps use the Claude app.
First-time installation
1 On your computer, create a new, empty folder for this project.
2 Save the create-new-campaign-installer.json file you received into that folder.
3 Open the Claude app and open that folder as your project (point it at the folder you just created).
4 In the chat, type:
I have a create-new-campaign-installer.json file in this folder - please install the project using it.
Claude will download the project code and set up everything it needs (Python environment, dependencies, your access keys). During this step it will show you permission prompts before running certain actions - for example downloading the code, creating a Python environment, or installing packages. These are expected and safe; just click Allow on each one so the installation can finish without interruption.
.env file inside the project folder, and the installer file is deleted automatically (it contains sensitive credentials, so it shouldn't be kept around). Don't share your .env file with anyone.Checking for updates
Once installed, you can check for a newer version whenever you like - no new file needed.
1 Open the same project folder in the Claude app.
2 Ask it:
Can you check if there's an update available for this project?
Claude will compare your local version against the latest release and tell you if one is available - this check never changes anything by itself. If there is an update and you'd like to apply it, just confirm, and Claude will sync the code for you (click Allow on any permission prompts it shows, same as during installation).
Applying a new installer file
From time to time you may receive another create-new-campaign-installer.json file - for example when we grant you access to an additional campaign, or issue you a fresh access token. This uses the exact same file and the exact same process as a first install, just applied to a project you already have set up.
1 Save the new create-new-campaign-installer.json file directly into your existing project folder (the one you already installed).
2 Open that project folder in the Claude app.
3 Tell it:
I've received a new installer file - please apply it.
Claude will update your local configuration accordingly and delete the file once it's applied. Click Allow on any permission prompts it shows. Nothing else to do manually.
GRIT GTM strategy
Builds your go-to-market direction - mode, sequencing, segments, signals, events - from research on your company and market, one layer up from a single campaign.
gtm-strategy-installer.json carries real access credentials in plain text. Don't email it, post it in Slack/Teams, or commit it anywhere - save it directly into your project folder and nowhere else, and never share it with anyone outside your team.What it does
GRIT GTM strategy builds your go-to-market direction - one layer above a single campaign. It takes your brief and assumptions and hands back a document that says: which mode you're playing (sales / warmup / networking), in what order to work your warm and cold sources, which campaigns to run per segment, which signals to chase, how to work events, and how to iterate.
- Mode & sequencing - sales vs warmup vs networking, and the order to run warm signals, cold signals and cold search.
- Segment & signal direction feeding straight into campaign builds.
- Event engine: deep search for stages to speak at and events to attend, with speaker-lineup recursion for exhaustive coverage.
- Competitor & creator mapping for positioning and audiences to watch.
- Delivered as a report: rendered HTML/PDF, ready to share.
You'll receive a small file called gtm-strategy-installer.json. It's how you set up the project the first time, and later how you receive updates - same file, same process, every time. These steps use the Claude app.
First-time installation
1 On your computer, create a new, empty folder for this project.
2 Save the gtm-strategy-installer.json file you received into that folder.
3 Open the Claude app and open that folder as your project (point it at the folder you just created).
4 In the chat, type:
I have a gtm-strategy-installer.json file in this folder - please install the project using it.
Claude will download the project code and set up everything it needs (Python environment, dependencies, your access keys). During this step it will show you permission prompts before running certain actions - for example downloading the code, creating a Python environment, or installing packages. These are expected and safe; just click Allow on each one so the installation can finish without interruption.
.env file inside the project folder, and the installer file is deleted automatically (it contains sensitive credentials, so it shouldn't be kept around). Don't share your .env file with anyone.Checking for updates
Once installed, you can check for a newer version whenever you like - no new file needed.
1 Open the same project folder in the Claude app.
2 Ask it:
Can you check if there's an update available for this project?
Claude will compare your local version against the latest release and tell you if one is available - this check never changes anything by itself. If there is an update and you'd like to apply it, just confirm, and Claude will sync the code for you (click Allow on any permission prompts it shows, same as during installation).
Applying a new installer file
From time to time you may receive another gtm-strategy-installer.json file - for example when we grant you access to an additional campaign, or issue you a fresh access token. This uses the exact same file and the exact same process as a first install, just applied to a project you already have set up.
1 Save the new gtm-strategy-installer.json file directly into your existing project folder (the one you already installed).
2 Open that project folder in the Claude app.
3 Tell it:
I've received a new installer file - please apply it.
Claude will update your local configuration accordingly and delete the file once it's applied. Click Allow on any permission prompts it shows. Nothing else to do manually.
GRIT reporting & iterations
Runs the weekly campaign cycle - results analysis, client report, research & copy feedback, and brief/segment iteration in GRIT - with a hard acceptance gate between the report and any write.
reporting-and-iterations-installer.json carries real access credentials in plain text. Don't email it, post it in Slack/Teams, or commit it anywhere - save it directly into your project folder and nowhere else, and never share it with anyone outside your team.What it does
GRIT reporting & iterations ties four steps that used to run by hand into one weekly loop: it analyses campaign results, writes the client-facing report, turns call and feedback notes into research and copy changes, and iterates the brief and segments back in GRIT. A report is only a proposal - nothing is written to GRIT before you explicitly accept it - and open recommendations wait in a per-client register that the next cycle picks up.
- Results analysis & client report - what happened this week, in a format ready to send.
- Two entry points - start from the report (analysis → recommendations → gate → iteration), or drop feedback (a call, notes, GRIT copy/research feedback) straight into the iteration engine.
- Hard acceptance gate - the report proposes; nothing reaches the production GRIT sheet without explicit sign-off.
- Durable recommendations register per client - open items don't get lost, they carry to the next cycle.
- Runs on the GRIT proxy - one campaign key, no provider keys in the project.
You'll receive a small file called reporting-and-iterations-installer.json. It's how you set up the project the first time, and later how you receive updates - same file, same process, every time. These steps use the Claude app.
First-time installation
1 On your computer, create a new, empty folder for this project.
2 Save the reporting-and-iterations-installer.json file you received into that folder.
3 Open the Claude app and open that folder as your project (point it at the folder you just created).
4 In the chat, type:
I have a reporting-and-iterations-installer.json file in this folder - please install the project using it.
Claude will download the project code and set up everything it needs (Python environment, dependencies, your access keys). During this step it will show you permission prompts before running certain actions - for example downloading the code, creating a Python environment, or installing packages. These are expected and safe; just click Allow on each one so the installation can finish without interruption.
.env file inside the project folder, and the installer file is deleted automatically (it contains sensitive credentials, so it shouldn't be kept around). Don't share your .env file with anyone.Checking for updates
Once installed, you can check for a newer version whenever you like - no new file needed.
1 Open the same project folder in the Claude app.
2 Ask it:
Can you check if there's an update available for this project?
Claude will compare your local version against the latest release and tell you if one is available - this check never changes anything by itself. If there is an update and you'd like to apply it, just confirm, and Claude will sync the code for you (click Allow on any permission prompts it shows, same as during installation).
Applying a new installer file
From time to time you may receive another reporting-and-iterations-installer.json file - for example when we grant you access to an additional campaign, or issue you a fresh access token. This uses the exact same file and the exact same process as a first install, just applied to a project you already have set up.
1 Save the new reporting-and-iterations-installer.json file directly into your existing project folder (the one you already installed).
2 Open that project folder in the Claude app.
3 Tell it:
I've received a new installer file - please apply it.
Claude will update your local configuration accordingly and delete the file once it's applied. Click Allow on any permission prompts it shows. Nothing else to do manually.
GRIT AI (internal)
The full Meaningful Sales monorepo - GTM strategy, create new campaign, search & enrichment, proofread & export, and reporting & iterations in one project, plus the internal-only tier (domains & emails setup, master prompt map). Installed and updated through one file, same as the other projects.
grit-ai-internal-installer.json carries real access credentials in plain text - for every client account, not just one. Don't email it, post it in Slack/Teams, or commit it anywhere - save it directly into your project folder and nowhere else, and never share it with anyone outside Meaningful Sales.What it does
GRIT AI (internal) is our own single copy of every client-facing skill - one repo, one proxy, one client folder per campaign for its whole lifecycle - plus the tools only Meaningful Sales uses: domain/inbox setup, signatures, the master prompt map, and the eval loop that gates changes before they land in a client's GRIT. It replaces running the four separate projects side by side when working across clients.
- One router, six entry points - GTM strategy, create new campaign, domains & emails setup, search & enrichment, proofread & export, reporting & iterations - picked by intent, not by which project you happened to open.
- One client folder per campaign (
clients/<alias>/) carrying strategy, campaign, infra, exports, reports and the recommendations register across the whole lifecycle. - Internal-only tier (
_internal/) - domain/inbox setup, signatures, master prompt map - present here, stripped from the client-facinggrit-airelease. - Eval loop before any write to a client's live GRIT fields, on fixed fixtures, before → after.
- Admin scope - this installer bundles every client's GRIT key at once, since Meaningful Sales operators work across accounts.
You'll receive a small file called grit-ai-internal-installer.json. It's how you set up the project the first time, and later how you receive updates - same file, same process, every time. These steps use the Claude app.
First-time installation
1 On your computer, create a new, empty folder for this project.
2 Save the grit-ai-internal-installer.json file you received into that folder.
3 Open the Claude app and open that folder as your project (point it at the folder you just created).
4 In the chat, type:
I have a grit-ai-internal-installer.json file in this folder - please install the project using it.
Claude will download the project code and set up everything it needs (Python environment, dependencies, your access keys). During this step it will show you permission prompts before running certain actions - for example downloading the code, creating a Python environment, or installing packages. These are expected and safe; just click Allow on each one so the installation can finish without interruption.
.env file inside the project folder, and the installer file is deleted automatically (it contains sensitive credentials, so it shouldn't be kept around). Don't share your .env file with anyone.Checking for updates
Once installed, you can check for a newer version whenever you like - no new file needed.
1 Open the same project folder in the Claude app.
2 Ask it:
Can you check if there's an update available for this project?
Claude will compare your local version against the latest release and tell you if one is available - this check never changes anything by itself. If there is an update and you'd like to apply it, just confirm, and Claude will sync the code for you (click Allow on any permission prompts it shows, same as during installation).
Applying a new installer file
From time to time you may receive another grit-ai-internal-installer.json file - for example when a new client campaign goes live, or we issue a fresh access token. This uses the exact same file and the exact same process as a first install, just applied to a project you already have set up.
1 Save the new grit-ai-internal-installer.json file directly into your existing project folder (the one you already installed).
2 Open that project folder in the Claude app.
3 Tell it:
I've received a new installer file - please apply it.
Claude will update your local configuration accordingly and delete the file once it's applied. Click Allow on any permission prompts it shows. Nothing else to do manually.
GRIT AI (client)
GRIT AI for a client: GTM strategy, create new campaign, search & enrichment, proofread & export, reporting & iterations and the exclusion list - on that client's own GRITs only, without our internal tier, master prompts or eval loop. Pick the client company and download its installer.
grit-ai-client-installer.json carries the client's access keys and the repo token in plain text. Hand it over through a one-time secret link (e.g. scrt.link), never by email or Slack, and only to that client.What the client gets
- One project, six entry points - GTM strategy, create new campaign, search & enrichment, proofread & export, reporting & iterations, exclusion list.
- All of their GRITs through one connector -
list_my_gritsshows them, every GRIT tool takes agrit_id; companies are matched by the GRIT name prefix (<client>-<campaign>). - Client keys (
gc_…) - AI calls run on each GRIT's own budget of 50 USD per month (resets on the 1st). - Optional HeyReach / Instantly on the client's own keys - fill
heyreach_key/instantly_keyin the file before handing it over. - Not included:
_internal/, master prompts and their eval loop, Slack log, domains & emails setup, onboarding.
First-time installation (client side)
1 Create a new, empty folder and save grit-ai-client-installer.json into it.
2 Open that folder in the Claude app (Claude Code) and type:
I have a grit-ai-client-installer.json file in this folder - please install the project using it.
Claude downloads the project, writes the keys to .env, sets up the MCP connectors (.mcp.json), installs the Python environment and deletes the installer file. Click Allow on the permission prompts.
3 Restart Claude in the project folder and approve the project's MCP servers (grit, gemini, optionally heyreach, instantly).
Updates and new GRITs
Updates: ask Claude in the project "Is there an update for this project?". A new GRIT for the same company: download a fresh installer here and tell Claude in the existing project "I've received a new installer file - please apply it."
GRIT Feedback API
Read and write campaign feedback programmatically - built for automation and AI agents.
https://dashboard.usegrit.io/api/v1A public REST API for reading and writing campaign feedback. It is fully separate from the UI: authentication is a Bearer token (no cookies, no CSRF), and writes are idempotent - sending the same request twice just overwrites the previous value. Clean paths, no query strings.
Authentication
Exchange credentials for a bearer token. The token is valid for 30 days and only sees the GRITs its account may access.
POST /api/v1/login
Content-Type: application/json
{ "username": "<user>", "password": "<password>" }
Response 200:
{
"ok": true,
"token": "<bearer>",
"role": "client",
"expires_in": 2592000,
"grits": [ { "grit_id": "…", "client": "…", "dashboard_id": "…" } ]
}
On bad credentials: 403 { "error": "Invalid credentials" }.
Returns the authenticated account.
Lists the GRITs the token can access. A grit_id is the id of a GRIT you have access to - the key for every feedback call below.
{ "ok": true, "grits": [ { "grit_id": "…", "client": "…", "dashboard_id": "…" } ] }
Read feedback
mode = people · copy · calls · company. status is optional (default all): pending = awaiting a verdict, reviewed = already scored.
GET /api/v1/feedback/YOUR_GRIT_ID/people/pending
Authorization: Bearer YOUR_TOKEN
{ "ok": true, "grit_id": "…", "mode": "people", "status": "pending", "count": 12, "items": [ … ] }
Every item carries a row (the key you pass back to a write), a reviewed boolean, the person's identity, and the mode-specific fields listed below.
Read-only ICP / segment rubrics - the classification criteria a feedback item was scored against. type is optional: person or company narrows to one set (default returns both).
GET /api/v1/profiles/YOUR_GRIT_ID
Authorization: Bearer YOUR_TOKEN
{ "ok": true, "grit_id": "…",
"person": [ { "name": "Lease workplace", "description": "…" } ],
"company": [ { "name": "Lease firmy", "description": "…" } ] }
Match a people item's profile (or a company item's segment) to a name here to get the full match criteria. Cached ~10 min.
profile / segment in this list and read the description - that is the rubric the human reviewer applied (MUST-HAVE / MUST-NOT-HAVE / ICP). Judge the item, and any artifact you regenerate from a NO, against that rubric.Write feedback
Write or overwrite a verdict. Idempotent - repeat freely, the second call just overwrites.
people · copy · company
{ "row": 42, "decision": "NO", "comment": "Wrong decision-maker - target Head of Sales", "uid": "…" }
decision- required,YESorNO. You cannot store a comment without a verdict.comment- optional, max 5000 characters (longer is rejected with400, never truncated), gets a[YYYY-MM-DD]date prefix (empty →[YYYY-MM-DD] no comment).uid(people) /linkedin(copy, company) - optional row check so a stale refresh can't overwrite the wrong record.
calls
{ "row": 42, "rating": 4, "comment": "Strong fit, clear next step", "linkedin": "…" }
rating- 0-5, saved together with the comment.comment- max 5000 characters (longer is rejected with400, never truncated).
Response: { "ok": true, "row": 42, "mode": "…" }.
pending to reviewed, and a second PATCH overwrites the previous verdict.Modes & fields
people - person research
Research generated for a person - reviewed with a YES/NO verdict plus an optional comment.
| field | meaning |
|---|---|
| profile | matched ICP profile - full criteria via GET /profiles |
| score | classification / score |
| why | rationale for the match |
| headline | person headline |
| industry | company industry |
| person_bio | short person bio |
| company_bio | short company bio |
| company_size | company size |
| note | research note |
| uid | unique person id - send it back on a write to verify the row |
| decision / comment | current verdict + comment |
copy - message sequences
Message sequences generated for a person. On write, pass linkedin to verify the row.
| field | meaning |
|---|---|
| topic | message topic |
| array of 6 - first message + followups 1-5 | |
| linkedin_seq | array of 8 - invite, message, inMail, followups 1-5 |
| decision / comment | current verdict + comment |
calls - completed calls
A completed call - reviewed with a 0-5 rating plus a comment.
| field | meaning |
|---|---|
| thread | conversation thread |
| rating | 0-5 or null |
| comment | reviewer comment |
| feedback_raw | raw stored feedback text |
company - company research
Research generated for a company - reviewed with a YES/NO verdict plus an optional comment.
| field | meaning |
|---|---|
| segment | matched ICP profile - full criteria via GET /profiles |
| signal | detection trigger |
| company · industry · employees · emp_range | firmographics |
| description · tagline · specialities | company copy |
| linkedin · website · country · city · founded | identifiers |
| hiring · classified · agent_comment | enrichment |
| note | company note |
| crm_notes | CRM note |
| decision / comment | current verdict + comment |
Errors
| code | meaning |
|---|---|
| 400 | bad request - missing or invalid fields (incl. comment over 5000 characters) |
| 403 | no access to this GRIT, or invalid credentials |
| 409 | the row is no longer awaiting feedback, or a UID / LinkedIn mismatch |
| 502 | the write failed |
Example: end to end (curl)
Each step is its own copy-and-run block. Replace YOUR_USERNAME, YOUR_PASSWORD, YOUR_TOKEN and YOUR_GRIT_ID with real values.
1 Log in - the response returns your token and a grits array (each with a grit_id).
curl -s -X POST "https://dashboard.usegrit.io/api/v1/login" \
-H 'Content-Type: application/json' \
-d '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD"}'
2 Find a grit_id - it is in the login response above, or list them any time:
curl -s "https://dashboard.usegrit.io/api/v1/grits" \
-H "Authorization: Bearer YOUR_TOKEN"
3 Load the profile rubrics once - feed these description texts to your agent as the classification criteria:
curl -s "https://dashboard.usegrit.io/api/v1/profiles/YOUR_GRIT_ID" \
-H "Authorization: Bearer YOUR_TOKEN"
4 Read pending items - each item has a row you write back to, and a profile (people) / segment (company) naming the rubric from step 3:
curl -s "https://dashboard.usegrit.io/api/v1/feedback/YOUR_GRIT_ID/people/pending" \
-H "Authorization: Bearer YOUR_TOKEN"
5 For each item, match its profile/segment to a rubric from step 3, judge it against that description, then write a verdict (idempotent - run it again to overwrite):
curl -s -X PATCH "https://dashboard.usegrit.io/api/v1/feedback/YOUR_GRIT_ID/people" \
-H "Authorization: Bearer YOUR_TOKEN" -H 'Content-Type: application/json' \
-d '{"row":42,"decision":"NO","comment":"Wrong decision-maker, target Head of Sales"}'