What is an OpenVerb Library? OpenVerb Core is the execution engine, but OpenVerb Libraries (like this one) are reusable AI action blueprints. They are NOT npm packages. You can copy the schema directly into an AI prompt to instantly give it a structured action space.
CRM Workflow
v1.0.0Published by @OpenVerb Official
•crm.starter
•Updated 22 days ago
Universal CRM workflow verbs. Manage contacts, deals, pipelines, and customer communications. The foundation for any sales or relationship management AI agent.
crmsalescontactsdealspipeline
4867
129
0
crm.starter.create_contact
Create a new contact record in the CRM
Input
{
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"description": "Full name of the contact"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Labels for segmentation"
},
"email": {
"type": "string",
"description": "Primary email address"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"company": {
"type": "string",
"description": "Company or organization"
}
}
}Output
{
"type": "object",
"properties": {
"contactId": {
"type": "string"
},
"createdAt": {
"type": "string"
}
}
}Policies:require_authwrite_receipt
crm.starter.update_deal
Update the status or details of a sales deal
Input
{
"type": "object",
"required": [
"dealId"
],
"properties": {
"notes": {
"type": "string"
},
"stage": {
"enum": [
"prospecting",
"qualification",
"proposal",
"negotiation",
"closed_won",
"closed_lost"
],
"type": "string"
},
"value": {
"type": "number",
"description": "Deal value in cents"
},
"dealId": {
"type": "string"
}
}
}Output
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"updatedAt": {
"type": "string"
}
}
}Policies:require_auth
crm.starter.send_outreach
Send a personalized outreach email or message to a contact
Input
{
"type": "object",
"required": [
"contactId",
"channel",
"body"
],
"properties": {
"body": {
"type": "string"
},
"channel": {
"enum": [
"email",
"sms",
"linkedin"
],
"type": "string"
},
"subject": {
"type": "string"
},
"contactId": {
"type": "string"
},
"templateId": {
"type": "string",
"description": "Optional message template to use"
}
}
}Output
{
"type": "object",
"properties": {
"messageId": {
"type": "string"
},
"deliveredAt": {
"type": "string"
}
}
}Policies:require_authrate_limit
crm.starter.list_pipeline
List all deals in the pipeline, optionally filtered by stage
Input
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "number"
},
"stage": {
"type": "string",
"description": "Filter by pipeline stage"
},
"ownerId": {
"type": "string",
"description": "Filter by sales rep"
}
}
}Output
{
"type": "object",
"properties": {
"deals": {
"type": "array",
"items": {
"type": "object"
}
},
"totalValue": {
"type": "number"
}
}
}crm.starter.assign_owner
Assign or reassign a contact or deal to a sales representative
Input
{
"type": "object",
"required": [
"entityType",
"entityId",
"ownerId"
],
"properties": {
"ownerId": {
"type": "string"
},
"entityId": {
"type": "string"
},
"entityType": {
"enum": [
"contact",
"deal"
],
"type": "string"
}
}
}Output
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
}
}
}Policies:require_admin