Create opportunity
Add an opportunity to a pipeline for an existing person.
POST https://cotlet.dev/api/v1/copper-crm/primary-contacts/{primary_contact_id}/opportunities
write Confirm
Adds an opportunity the way Add Opportunity does. Copper requires only the name and the primary contact. Pipeline, stage, value and close date are optional. The opportunity is visible to your team and can trigger Workflow Automation rules. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| name string required | string | Name of the opportunity. |
| primary_contact_id string required | string | person_id of the primary contact, from list_people. |
| pipeline string | string | Pipeline name, from list_pipelines. |
| stage string | string | Stage name within the pipeline. |
| monetary_value number | number | Value of the opportunity. |
| close_date date | date | Close date, YYYY-MM-DD. |
Request
curl -X POST https://cotlet.dev/api/v1/copper-crm/primary-contacts/primary_contact_8c41d2/opportunities \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Jane Doe"}' result = client.call("copper-crm", "create_opportunity", {"name":"Jane Doe","primary_contact_id":"primary_contact_8c41d2"}) const result = await cotlet.call('copper-crm', 'create_opportunity', {"name":"Jane Doe","primary_contact_id":"primary_contact_8c41d2"}); cotlet call copper-crm create_opportunity --data '{"name":"Jane Doe","primary_contact_id":"primary_contact_8c41d2"}' Example response
{
"opportunity_id": "31850733",
"name": "Cedar Labs onboarding",
"pipeline": "Sales",
"stage": "Discovery",
"status": "Open",
"monetary_value": 7200,
"close_date": "2026-12-01",
"primary_contact": "Omar Haddad"
}