← Back to templates
CRM
salesTrack contacts, companies, and deals through your sales pipeline.
Collections
Contacts
People and their contact information
Schema Fields
name:stringemail:stringphone:stringcompany:stringtitle:stringsource:stringnotes:string
Companies
Organizations and accounts
Schema Fields
name:stringdomain:stringindustry:stringsize:stringannual_revenue:number
Deals
Sales opportunities and pipeline
Schema Fields
title:stringamount:numbercurrency:stringstage:stringclose_date:stringprobability:number
Relationships
contacts
works_at
companiesContact works at companycontacts
owns_deal
dealsContact owns or is associated with dealQuick Start
Create the collections using the Rekor CLI:
rekor collections upsert contacts --workspace my-crm --schema @contacts.jsonFull Schema (JSON)
Copy the complete template definition:
{
"collections": [
{
"id": "contacts",
"name": "Contacts",
"description": "People and their contact information",
"icon": "user",
"color": "#3b82f6",
"json_schema": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string"
},
"company": {
"type": "string"
},
"title": {
"type": "string"
},
"source": {
"type": "string",
"enum": [
"inbound",
"outbound",
"referral",
"organic"
]
},
"notes": {
"type": "string"
}
}
}
},
{
"id": "companies",
"name": "Companies",
"description": "Organizations and accounts",
"icon": "building",
"color": "#8b5cf6",
"json_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"domain": {
"type": "string"
},
"industry": {
"type": "string"
},
"size": {
"type": "string",
"enum": [
"1-10",
"11-50",
"51-200",
"201-1000",
"1000+"
]
},
"annual_revenue": {
"type": "number"
}
}
}
},
{
"id": "deals",
"name": "Deals",
"description": "Sales opportunities and pipeline",
"icon": "dollar-sign",
"color": "#22c55e",
"json_schema": {
"type": "object",
"required": [
"title",
"amount",
"stage"
],
"properties": {
"title": {
"type": "string"
},
"amount": {
"type": "number",
"minimum": 0
},
"currency": {
"type": "string",
"enum": [
"USD",
"EUR",
"GBP",
"BRL"
],
"default": "USD"
},
"stage": {
"type": "string",
"enum": [
"lead",
"qualified",
"proposal",
"negotiation",
"closed_won",
"closed_lost"
]
},
"close_date": {
"type": "string",
"format": "date"
},
"probability": {
"type": "number",
"minimum": 0,
"maximum": 100
}
}
}
}
],
"relationships": [
{
"type": "works_at",
"source": "contacts",
"target": "companies",
"description": "Contact works at company"
},
{
"type": "owns_deal",
"source": "contacts",
"target": "deals",
"description": "Contact owns or is associated with deal"
}
]
}