kickserv
What this MCP does
Manages Kickserv customers, field-service jobs, tasks, notes, charges, employee assignments and technician time entries.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_number', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'Note text.'}, 'public': {'type': 'boolean', 'description': 'True to make the note public (customer-visible).'}, 'customer_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number', 'job_charge_type_id'], 'properties': {'details': {'type': 'string', 'maxLength': 5000, 'description': 'Line-item details.'}, 'item_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Item `id` from kickserv_list_items.', 'exclusiveMinimum': 0}, 'discount': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Discount.'}, 'quantity': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'Quantity.'}, 'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number.', 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'maxLength': 1000, 'description': 'Line-item description.'}, 'price_per_unit': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Unit price.'}, 'job_charge_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job charge type id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 20000, 'minLength': 1, 'description': 'Note text.'}, 'public': {'type': 'boolean', 'description': 'True to make the note public (customer-visible).'}, 'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'fax': {'type': 'string', 'maxLength': 64, 'description': 'Fax number.'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Customer name (required).'}, 'mobile': {'type': 'string', 'maxLength': 64, 'description': 'Mobile number.'}, 'company': {'type': 'boolean', 'description': 'True if the customer is a company rather than a person.'}, 'contact': {'type': 'string', 'maxLength': 255, 'description': 'Primary contact name.'}, 'is_active': {'type': 'boolean', 'description': 'False to mark the customer inactive (reversible).'}, 'last_name': {'type': 'string', 'maxLength': 255, 'description': 'Contact last name.'}, 'first_name': {'type': 'string', 'maxLength': 255, 'description': 'Contact first name.'}, 'alt_contact': {'type': 'string', 'maxLength': 255, 'description': 'Alternate contact name.'}, 'billing_city': {'type': 'string', 'maxLength': 128, 'description': 'Billing city.'}, 'company_name': {'type': 'string', 'maxLength': 255, 'description': 'Company name.'}, 'phone_number': {'type': 'string', 'maxLength': 64, 'description': 'Phone number.'}, 'service_city': {'type': 'string', 'maxLength': 128, 'description': 'Service city.'}, 'billing_state': {'type': 'string', 'maxLength': 64, 'description': 'Billing state.'}, 'email_address': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 255, 'description': 'Email address.'}, 'service_state': {'type': 'string', 'maxLength': 64, 'description': 'Service state (2-letter abbreviation in the US).'}, 'account_number': {'type': 'string', 'maxLength': 64, 'description': 'Your own account number for the customer.'}, 'notify_via_sms': {'type': 'boolean', 'description': 'Send the customer SMS notifications.'}, 'billing_address': {'type': 'string', 'maxLength': 255, 'description': 'Billing address (where invoices go), line 1.'}, 'billing_country': {'type': 'string', 'maxLength': 64, 'description': 'Billing country.'}, 'service_address': {'type': 'string', 'maxLength': 255, 'description': 'Service address (where the work happens), line 1.'}, 'service_country': {'type': 'string', 'maxLength': 64, 'description': 'Service country (2-letter code).'}, 'alt_phone_number': {'type': 'string', 'maxLength': 64, 'description': 'Alternate phone number.'}, 'billing_zip_code': {'type': 'string', 'maxLength': 32, 'description': 'Billing ZIP/postal code.'}, 'customer_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer type id.', 'exclusiveMinimum': 0}, 'notify_via_email': {'type': 'boolean', 'description': 'Send the customer email notifications.'}, 'service_zip_code': {'type': 'string', 'maxLength': 32, 'description': 'Service ZIP/postal code.'}, 'billing_address_2': {'type': 'string', 'maxLength': 255, 'description': 'Billing address line 2.'}, 'service_address_2': {'type': 'string', 'maxLength': 255, 'description': 'Service address line 2.'}, 'customer_source_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer source (lead source) id.', 'exclusiveMinimum': 0}, 'special_instructions': {'type': 'string', 'maxLength': 5000, 'description': 'Special instructions shown to technicians.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_id', 'job_type_id'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'description': 'Job name/title.'}, 'ends_at': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the job ends. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}, 'duration': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Job duration.'}, 'estimate': {'type': 'boolean', 'description': 'True to create the job as an estimate.'}, 'po_number': {'type': 'string', 'maxLength': 64, 'description': 'Customer purchase-order number.'}, 'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The customer's internal `id` (NOT the customer_number).", 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'maxLength': 10000, 'description': 'Job description / work to be done.'}, 'job_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job category (job type) id.', 'exclusiveMinimum': 0}, 'employee_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'maxItems': 50, 'description': 'Employee `id`s (from kickserv_list_employees) to assign. Replaces the current assignment.'}, 'scheduled_on': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the job is scheduled. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_id', 'name', 'task_type_id'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Task name.'}, 'job_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The job's internal `id` (NOT the job_number).", 'exclusiveMinimum': 0}, 'ends_at': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the task ends. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}, 'duration': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Task duration.'}, 'customer_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The customer's internal `id`.", 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'maxLength': 10000, 'description': 'Task description.'}, 'employee_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'maxItems': 50, 'description': 'Employee `id`s (from kickserv_list_employees) to assign. Replaces the current assignment.'}, 'scheduled_at': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the task is scheduled. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}, 'task_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Task type id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_number'], 'properties': {'include': {'type': 'array', 'items': {'enum': ['contacts', 'jobs', 'tasks', 'notes', 'tax_entity', 'custom_field_assignments'], 'type': 'string'}, 'description': 'Related data to embed: contacts, jobs, tasks, notes, tax_entity, custom_field_assignments.'}, 'customer_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer number (as shown in Kickserv).', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number'], 'properties': {'include': {'type': 'array', 'items': {'enum': ['customer', 'employees', 'job_charges', 'time_entries', 'notes', 'job_type', 'job_status', 'tax_entity', 'custom_field_assignments'], 'type': 'string'}, 'description': 'Related data to embed: customer, employees, job_charges, time_entries, notes, job_type, job_status, tax_entity, custom_field_assignments.'}, 'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number (as shown in Kickserv).', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['task_id'], 'properties': {'task_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Task id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_number'], 'properties': {'only': {'type': 'string', 'pattern': '^[a-z0-9_]+(,[a-z0-9_]+)*$', 'description': 'Comma-separated list of columns to return, e.g. `customer_number,name`. Kickserv recommends this: it makes responses much smaller and faster.'}, 'page': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'Page number (Kickserv returns 30 records per page). Omit for page 1.'}, 'include': {'type': 'array', 'items': {'enum': ['customer', 'employees', 'job_charges', 'time_entries', 'notes', 'job_type', 'job_status', 'tax_entity', 'custom_field_assignments'], 'type': 'string'}, 'description': 'Related data to embed: customer, employees, job_charges, time_entries, notes, job_type, job_status, tax_entity, custom_field_assignments.'}, 'customer_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_number'], 'properties': {'customer_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'maxLength': 255, 'description': 'Exact customer name.'}, 'only': {'type': 'string', 'pattern': '^[a-z0-9_]+(,[a-z0-9_]+)*$', 'description': 'Comma-separated list of columns to return, e.g. `customer_number,name`. Kickserv recommends this: it makes responses much smaller and faster.'}, 'page': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'Page number (Kickserv returns 30 records per page). Omit for page 1.'}, 'include': {'type': 'array', 'items': {'enum': ['contacts', 'jobs', 'tasks', 'notes', 'tax_entity', 'custom_field_assignments'], 'type': 'string'}, 'description': 'Related data to embed: contacts, jobs, tasks, notes, tax_entity, custom_field_assignments.'}, 'billing_city': {'type': 'string', 'maxLength': 128, 'description': 'Billing city.'}, 'phone_number': {'type': 'string', 'maxLength': 64, 'description': 'Exact phone number, e.g. 800-555-1212.'}, 'service_city': {'type': 'string', 'maxLength': 128, 'description': 'Service city.'}, 'billing_state': {'type': 'string', 'maxLength': 64, 'description': 'Billing state.'}, 'email_address': {'type': 'string', 'maxLength': 255, 'description': 'Exact email address.'}, 'service_state': {'type': 'string', 'maxLength': 64, 'description': 'Service state (2-letter abbreviation).'}, 'customer_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer number.', 'exclusiveMinimum': 0}, 'service_zip_code': {'type': 'string', 'maxLength': 32, 'description': 'Service ZIP (full zip+4 if the record has one).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'name': {'type': 'string', 'maxLength': 255, 'description': 'Filter by item name.'}, 'page': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'Page number (Kickserv returns 30 records per page). Omit for page 1.'}, 'which': {'enum': ['active', 'inactive', 'all'], 'type': 'string', 'description': 'Which items to return: active (default), inactive, or all.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number'], 'properties': {'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'only': {'type': 'string', 'pattern': '^[a-z0-9_]+(,[a-z0-9_]+)*$', 'description': 'Comma-separated list of columns to return, e.g. `customer_number,name`. Kickserv recommends this: it makes responses much smaller and faster.'}, 'page': {'type': 'integer', 'maximum': 10000, 'minimum': 1, 'description': 'Page number (Kickserv returns 30 records per page). Omit for page 1.'}, 'status': {'enum': ['unscheduled', 'scheduled', 'in_progress', 'on_hold', 'canceled', 'complete'], 'type': 'string', 'description': 'Job status.'}, 'include': {'type': 'array', 'items': {'enum': ['customer', 'employees', 'job_charges', 'time_entries', 'notes', 'job_type', 'job_status', 'tax_entity', 'custom_field_assignments'], 'type': 'string'}, 'description': 'Related data to embed: customer, employees, job_charges, time_entries, notes, job_type, job_status, tax_entity, custom_field_assignments.'}, 'scheduled': {'enum': ['today', 'tomorrow', 'yesterday', 'this_week', 'next_week', 'last_week', 'this_month', 'next_month', 'last_month', 'this_year', 'last_year'], 'type': 'string', 'description': 'Scheduled-date window, e.g. today or this_week.'}, 'job_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Only jobs in this category (job type id).', 'exclusiveMinimum': 0}, 'job_status_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Only jobs with this custom job status id.', 'exclusiveMinimum': 0}, 'employee_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Only jobs assigned to this employee number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number'], 'properties': {'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number', 'employee_id', 'started_on', 'number_of_hours'], 'properties': {'note': {'type': 'string', 'maxLength': 5000, 'description': 'Note about the work.'}, 'mileage': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Mileage driven.'}, 'billable': {'type': 'boolean', 'description': 'Whether the time is billable.'}, 'ended_on': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the work ended. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}, 'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number.', 'exclusiveMinimum': 0}, 'started_on': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the work started, e.g. `2026-10-02 13:00` or `10/02/2026 01:00pm`.'}, 'employee_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': "The employee's `id`.", 'exclusiveMinimum': 0}, 'number_of_hours': {'type': 'number', 'maximum': 1000, 'description': 'Hours worked, e.g. 1.25.', 'exclusiveMinimum': 0}, 'time_entry_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Time entry type id.', 'exclusiveMinimum': 0}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['customer_number'], 'properties': {'fax': {'type': 'string', 'maxLength': 64, 'description': 'Fax number.'}, 'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'New customer name.'}, 'mobile': {'type': 'string', 'maxLength': 64, 'description': 'Mobile number.'}, 'company': {'type': 'boolean', 'description': 'True if the customer is a company rather than a person.'}, 'contact': {'type': 'string', 'maxLength': 255, 'description': 'Primary contact name.'}, 'is_active': {'type': 'boolean', 'description': 'False to mark the customer inactive (reversible).'}, 'last_name': {'type': 'string', 'maxLength': 255, 'description': 'Contact last name.'}, 'first_name': {'type': 'string', 'maxLength': 255, 'description': 'Contact first name.'}, 'alt_contact': {'type': 'string', 'maxLength': 255, 'description': 'Alternate contact name.'}, 'billing_city': {'type': 'string', 'maxLength': 128, 'description': 'Billing city.'}, 'company_name': {'type': 'string', 'maxLength': 255, 'description': 'Company name.'}, 'phone_number': {'type': 'string', 'maxLength': 64, 'description': 'Phone number.'}, 'service_city': {'type': 'string', 'maxLength': 128, 'description': 'Service city.'}, 'billing_state': {'type': 'string', 'maxLength': 64, 'description': 'Billing state.'}, 'email_address': {'type': 'string', 'format': 'email', 'pattern': "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'maxLength': 255, 'description': 'Email address.'}, 'service_state': {'type': 'string', 'maxLength': 64, 'description': 'Service state (2-letter abbreviation in the US).'}, 'account_number': {'type': 'string', 'maxLength': 64, 'description': 'Your own account number for the customer.'}, 'notify_via_sms': {'type': 'boolean', 'description': 'Send the customer SMS notifications.'}, 'billing_address': {'type': 'string', 'maxLength': 255, 'description': 'Billing address (where invoices go), line 1.'}, 'billing_country': {'type': 'string', 'maxLength': 64, 'description': 'Billing country.'}, 'customer_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer number to update.', 'exclusiveMinimum': 0}, 'service_address': {'type': 'string', 'maxLength': 255, 'description': 'Service address (where the work happens), line 1.'}, 'service_country': {'type': 'string', 'maxLength': 64, 'description': 'Service country (2-letter code).'}, 'alt_phone_number': {'type': 'string', 'maxLength': 64, 'description': 'Alternate phone number.'}, 'billing_zip_code': {'type': 'string', 'maxLength': 32, 'description': 'Billing ZIP/postal code.'}, 'customer_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer type id.', 'exclusiveMinimum': 0}, 'notify_via_email': {'type': 'boolean', 'description': 'Send the customer email notifications.'}, 'service_zip_code': {'type': 'string', 'maxLength': 32, 'description': 'Service ZIP/postal code.'}, 'billing_address_2': {'type': 'string', 'maxLength': 255, 'description': 'Billing address line 2.'}, 'service_address_2': {'type': 'string', 'maxLength': 255, 'description': 'Service address line 2.'}, 'customer_source_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Customer source (lead source) id.', 'exclusiveMinimum': 0}, 'special_instructions': {'type': 'string', 'maxLength': 5000, 'description': 'Special instructions shown to technicians.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['job_number'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'description': 'Job name/title.'}, 'ends_at': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the job ends. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}, 'duration': {'type': 'number', 'maximum': 100000, 'minimum': 0, 'description': 'Job duration.'}, 'po_number': {'type': 'string', 'maxLength': 64, 'description': 'Customer purchase-order number.'}, 'job_number': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Job number to update.', 'exclusiveMinimum': 0}, 'description': {'type': 'string', 'maxLength': 10000, 'description': 'Job description / work to be done.'}, 'job_type_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'New job category (job type) id.', 'exclusiveMinimum': 0}, 'employee_ids': {'type': 'array', 'items': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'maxItems': 50, 'description': 'Employee `id`s (from kickserv_list_employees) to assign. Replaces the current assignment.'}, 'scheduled_on': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'When the job is scheduled. A date/time string Kickserv can parse, e.g. `2026-10-02 09:30` or `10/2/2026 09:30am`.'}, 'job_status_id': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'New custom job status id.', 'exclusiveMinimum': 0}}}
Recent tool changes
Similar MCP servers
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Meta Council
Provides governed workflows for consulting, outreach, sales deals, invoices, marketing campaigns, content approvals, accounting a…
GestãoClick
Connects to the GestãoClick ERP to manage customers, suppliers, products, sales, service orders, budgets, and financial records.
Odichat
Manages WhatsApp, Instagram, and Facebook inboxes with contacts, conversations, agents, automation rules, labels, canned response…
Coordinalo — Service Business Operations
Manages appointment-based service businesses, including clients, providers, services, availability, public booking agendas, recur…
StackFast FractWin Expert Brain
Provides governed sales, negotiation, strategy, operations, CRM, estimation, artifact, and risk-management workflows with human a…
GrowthKit Revenue Intelligence
Supports B2B revenue operations with lead campaigns, ICP and company enrichment, CRM records and activities, outreach drafting, t…
KaiCalls
Provides AI phone reception, outbound calling campaigns, call transcripts and recordings, lead management, routing, staff alerts,…