Analyze A/B test results for statistical significance with ship, extend, or kill recommendations
日本語の概要は準備中です。原文の説明を表示しています。
Read and write data to the agency CRM (Google Sheets via webhook or API)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Reads and writes lead, outreach, and pipeline data to the agency's CRM. Default backend is Google Sheets via webhook. The skill checks tools.crm in agency.config.json to determine the execution path and credentials.
agency.config.json at repo root with crm and tools.crm sectionscrm.webhook_urlGOOGLE_SERVICE_ACCOUNT_KEY env var set (referenced in tools.crm.api_key_env)agency.config.json from the project root.crm.type -- CRM backend type (e.g., google_sheets)crm.sheet_id -- the Google Sheet IDcrm.webhook_url -- the Google Apps Script webhook endpointcrm.tabs -- map of logical tab names to actual sheet tab namestools.crm.access -- execution method: webhook | api | browsertools.crm.api_key_env -- env var name for API credentials (if applicable)operation -- one of: READ, APPEND, UPDATE, CREATE_TABtab -- logical tab name (looked up in crm.tabs) or literal tab namedata -- the data to write (for APPEND/UPDATE operations)query -- search/filter criteria (for READ operations)Map the logical tab name to the actual sheet tab name using crm.tabs:
tab matches a key in crm.tabs, use the mapped value.tab does not match any key, use it as-is (literal tab name).Example: tab: "hawk_leads" resolves to "Hawk Leads" per the config.
Add one or more rows to a tab. Each row is an object with column headers as keys.
Via Webhook (preferred):
curl -s -X POST "{{crm.webhook_url}}" \
-H "Content-Type: application/json" \
-d '{
"sheet": "{{resolved_tab_name}}",
"headers": ["Col1", "Col2", "Col3"],
"row": ["value1", "value2", "value3"]
}'
Rules:
headers must match the existing column headers in the tab exactly (case-sensitive).timestamp column with ISO datetime for every write.Via API (if webhook is unavailable):
Use the Google Sheets API v4 with the service account credentials from the env var specified in tools.crm.api_key_env.
POST https://sheets.googleapis.com/v4/spreadsheets/{{crm.sheet_id}}/values/{{resolved_tab_name}}!A:Z:append?valueInputOption=USER_ENTERED
Authorization: Bearer {{access_token}}
Content-Type: application/json
{
"values": [["value1", "value2", "value3"]]
}
Read rows from a tab, optionally filtered.
Via Webhook:
curl -s -X POST "{{crm.webhook_url}}" \
-H "Content-Type: application/json" \
-d '{
"action": "read",
"sheet": "{{resolved_tab_name}}",
"filters": {
"column": "Stage",
"value": "HOT"
}
}'
Via API:
GET https://sheets.googleapis.com/v4/spreadsheets/{{crm.sheet_id}}/values/{{resolved_tab_name}}!A:Z
Authorization: Bearer {{access_token}}
Then filter the returned data in-memory based on the query criteria.
Query options:
stage -- filter by pipeline stage (e.g., HOT, WARM, CONTACTED)date_range -- filter by date column (e.g., last 7 days)search -- substring match across all columnslimit -- max rows to returnUpdate specific fields on existing rows. Identify the row by a unique key (usually URL, email, or company name).
Via Webhook:
curl -s -X POST "{{crm.webhook_url}}" \
-H "Content-Type: application/json" \
-d '{
"action": "update",
"sheet": "{{resolved_tab_name}}",
"match_column": "Email",
"match_value": "founder@example.com",
"updates": {
"Stage": "CONTACTED",
"Last Touch": "2024-01-15",
"Notes": "Sent cold email"
}
}'
Via API:
PUT to update the specific cells.Create a new tab with specified headers.
Via Webhook:
curl -s -X POST "{{crm.webhook_url}}" \
-H "Content-Type: application/json" \
-d '{
"action": "create_tab",
"sheet": "{{new_tab_name}}",
"headers": ["Date", "Company", "Contact", "Email", "Stage", "Source", "Notes"]
}'
Via API:
Use the Sheets API batchUpdate to add a new sheet, then write the header row.
Before executing any write operation:
After each operation, report:
CRM Write Complete:
- Tab: {{tab_name}}
- Operation: APPEND
- Rows written: {{count}}
- Timestamp: {{iso_datetime}}
For READ operations, return the data in a clean table format.
Trigger phrases:
User: Log these 5 scored leads to Hawk Leads
Assistant: [reads config, resolves tab name, sends 5 webhook POSTs with rate limiting, confirms 5 rows written]
User: Show me all leads contacted this week
Assistant: [reads Outreach CRM tab, filters by date range, returns table]
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Analyze A/B test results for statistical significance with ship, extend, or kill recommendations
日本語の概要は準備中です。原文の説明を表示しています。
Reallocate ad budget across campaigns and channels using ROAS and marginal return analysis
日本語の概要は準備中です。原文の説明を表示しています。
Generate structured creative briefs for ad designers with brand-consistent direction
日本語の概要は準備中です。原文の説明を表示しています。
Mine winning ad angles, hooks, and creative patterns from top-performing ads
日本語の概要は準備中です。原文の説明を表示しています。
Monitor competitor ads across Meta, Google, and LinkedIn with strategic analysis
日本語の概要は準備中です。原文の説明を表示しています。
Interactive onboarding wizard that generates agency.config.json for any B2B agency. Asks structured questions about the agency, services, ICP, tools, outreach preferences, and CRM setup. Outputs a complete config file.
日本語の概要は準備中です。原文の説明を表示しています。