Adds one or more investor records to the Carta CRM via the public API. Use this skill when the user says things like "add an investor", "/add-investor", "add investor to Carta CRM", "create investor record", "add this VC fund to the CRM", or "save investor data". Collects investor information conversationally, then POSTs it to the Carta CRM API.
Help the user create one or more investor records in the Carta CRM by calling
POST /v1/investors. Collect the investor details conversationally, validate the
required fields, then make the API call using curl.
Check that the required environment variables are set:
echo "API_KEY=${LISTALPHA_API_KEY:+set}"
If LISTALPHA_API_KEY is missing, tell the user:
"You need to set the
LISTALPHA_API_KEYenvironment variable to your Carta CRM API key before using this skill. You can add it in Claude's environment settings."
Call the custom fields endpoint to see what fields the tenant has configured:
curl -s -X GET "https://api.listalpha.com/v1/investors/custom-fields" \
-H "Authorization: ${LISTALPHA_API_KEY}"
Use the returned field names as hints when collecting investor data. If the call fails, proceed without it — custom fields are optional.
Ask the user for:
website, location, industry,
about, tags, or any custom fields returned in Step 2If the user has already provided details in their message, extract them directly without re-asking.
Build the request body:
{
"name": "<investor name>",
"fields": {
"<field_key>": "<value>"
}
}
Omit fields entirely if no field data was provided.
Make the API call:
curl -s -X POST "https://api.listalpha.com/v1/investors" \
-H "Authorization: ${LISTALPHA_API_KEY}" \
-H "Content-Type: application/json" \
-d '<json_body>'
On success (HTTP 200), respond with:
"Investor {name} created successfully (ID:
{id})."
On error, show the status code and error message from the response, and suggest