Skip to content
Agentmart
Submit a tool

Conduyt CRM

Conduyt CRM tools for AI agents: contacts, deals, pipelines, tasks, automations, messaging, reports

Connector by conduyt.comOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/conduyt-com-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Conduyt CRM tools for AI agents: contacts, deals, pipelines, tasks, automations, messaging, reports

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
93 read · 126 write · 29 delete · 44 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 292

Read from the source code; the running server may list different tools.

Read 93 · Look things up without changing anything.

  • conduyt_account_exports_list
  • conduyt_ai_chat
  • conduyt_ai_insights
  • conduyt_ai_plan_actions
  • conduyt_ai_summarize_contact
  • conduyt_api_catalog
  • conduyt_check_permissions
  • conduyt_dashboard
  • conduyt_fromk_status
  • conduyt_get_agent_statuses
  • conduyt_get_appointment
  • conduyt_get_automation
Show 81 more tools
  • conduyt_get_batch_operation
  • conduyt_get_booking_page
  • conduyt_get_call
  • conduyt_get_call_flow
  • conduyt_get_call_flow_wiring
  • conduyt_get_call_recording_settings
  • conduyt_get_company
  • conduyt_get_contact
  • conduyt_get_contact_table_defaults
  • conduyt_get_conversation
  • conduyt_get_dashboard
  • conduyt_get_deal
  • conduyt_get_dialer_settings
  • conduyt_get_drip_campaign
  • conduyt_get_form
  • conduyt_get_invoice
  • conduyt_get_lead_pool_settings
  • conduyt_get_lifecycle_settings
  • conduyt_get_post_call_insight
  • conduyt_get_product
  • conduyt_get_ring_group
  • conduyt_get_sequence
  • conduyt_get_smart_dialing_order
  • conduyt_get_smart_list
  • conduyt_get_smart_list_contacts
  • conduyt_get_task
  • conduyt_get_template
  • conduyt_get_user
  • conduyt_get_user_stats
  • conduyt_list_activities
  • conduyt_list_appointments
  • conduyt_list_automations
  • conduyt_list_batch_operations
  • conduyt_list_booking_pages
  • conduyt_list_calendars
  • conduyt_list_call_flow_functions
  • conduyt_list_call_flow_numbers
  • conduyt_list_call_flows
  • conduyt_list_calls
  • conduyt_list_companies
  • conduyt_list_contacts
  • conduyt_list_custom_fields
  • conduyt_list_dashboards
  • conduyt_list_deal_views
  • conduyt_list_deals
  • conduyt_list_dnc
  • conduyt_list_drip_campaigns
  • conduyt_list_drip_enrollments
  • conduyt_list_form_submissions
  • conduyt_list_forms
  • conduyt_list_invoices
  • conduyt_list_messages
  • conduyt_list_notifications
  • conduyt_list_pipelines
  • conduyt_list_pool_filter_sets
  • conduyt_list_products
  • conduyt_list_report_schedules
  • conduyt_list_reports
  • conduyt_list_ring_groups
  • conduyt_list_saved_filters
  • conduyt_list_scoring_rules
  • conduyt_list_sequences
  • conduyt_list_smart_lists
  • conduyt_list_smart_views
  • conduyt_list_tags
  • conduyt_list_targets
  • conduyt_list_tasks
  • conduyt_list_templates
  • conduyt_list_up_for_grabs
  • conduyt_list_users
  • conduyt_list_webhooks
  • conduyt_project_blue_status
  • conduyt_project_blue_voice_status
  • conduyt_recalculate_scores
  • conduyt_resolve_names
  • conduyt_search
  • conduyt_validate_call_flow
  • conduyt_verify_line_type
  • conduyt_whatsapp_status
  • conduyt_workflow_validate
  • conduyt_zoom_status

Write 126 · Create, change, send or run things.

  • conduyt_add_contacts_to_smart_list
  • conduyt_add_dashboard_tile
  • conduyt_add_deal_tags
  • conduyt_add_dnc
  • conduyt_add_tags
  • conduyt_ai_call_disposition
  • conduyt_ai_compose_email
  • conduyt_ai_execute_actions
  • conduyt_ai_import_contacts
  • conduyt_ai_improve_email
  • conduyt_ai_task_import_and_enroll
  • conduyt_appointment_outcome
Show 114 more tools
  • conduyt_batch_stop_enrollments
  • conduyt_bulk_edit_contacts
  • conduyt_bulk_edit_deals
  • conduyt_bulk_tag_contacts
  • conduyt_bulk_update_contacts
  • conduyt_bulk_update_deals
  • conduyt_call_flow_roster
  • conduyt_call_performance_report
  • conduyt_cancel_batch_operation
  • conduyt_cancel_drip_enrollment_barrier
  • conduyt_cancel_webhook_log
  • conduyt_complete_task
  • conduyt_create_activity
  • conduyt_create_appointment
  • conduyt_create_automation
  • conduyt_create_batch_operation
  • conduyt_create_booking_page
  • conduyt_create_call_flow
  • conduyt_create_call_flow_function
  • conduyt_create_company
  • conduyt_create_contact
  • conduyt_create_custom_field
  • conduyt_create_dashboard
  • conduyt_create_deal
  • conduyt_create_drip_campaign
  • conduyt_create_form
  • conduyt_create_invoice
  • conduyt_create_notification
  • conduyt_create_pipeline
  • conduyt_create_pool_filter_set
  • conduyt_create_product
  • conduyt_create_report
  • conduyt_create_report_schedule
  • conduyt_create_ring_group
  • conduyt_create_saved_filter
  • conduyt_create_scoring_rule
  • conduyt_create_sequence
  • conduyt_create_smart_list
  • conduyt_create_stage
  • conduyt_create_tag
  • conduyt_create_task
  • conduyt_create_template
  • conduyt_create_user
  • conduyt_create_webhook
  • conduyt_import_deals
  • conduyt_import_preflight
  • conduyt_invite_user
  • conduyt_move_smart_view
  • conduyt_project_blue_assign_line
  • conduyt_project_blue_voice_connect
  • conduyt_publish_automation
  • conduyt_publish_call_flow
  • conduyt_release_call_flow_tombstone
  • conduyt_release_ring_group_number
  • conduyt_reply_capture_get
  • conduyt_reply_capture_setup
  • conduyt_reply_capture_verify
  • conduyt_reply_suggestion
  • conduyt_reply_suggestion_decide
  • conduyt_report_schedule_deliveries
  • conduyt_run_dashboard
  • conduyt_scheduled_export_get_settings
  • conduyt_scheduled_export_update_settings
  • conduyt_send_email
  • conduyt_send_invoice
  • conduyt_send_report_schedule_now
  • conduyt_send_sms
  • conduyt_set_contact_table_defaults
  • conduyt_set_smart_dialing_order
  • conduyt_set_smart_view_audience
  • conduyt_simulate_call_flow
  • conduyt_sync_local_presence
  • conduyt_test_call_flow_function
  • conduyt_unpublish_call_flow
  • conduyt_update_agent_statuses
  • conduyt_update_appointment
  • conduyt_update_automation
  • conduyt_update_booking_page
  • conduyt_update_call_flow
  • conduyt_update_call_flow_function
  • conduyt_update_call_recording_settings
  • conduyt_update_company
  • conduyt_update_contact
  • conduyt_update_custom_field
  • conduyt_update_dashboard
  • conduyt_update_dashboard_tile
  • conduyt_update_deal
  • conduyt_update_deal_working_mode
  • conduyt_update_dialer_settings
  • conduyt_update_disposition_status_map
  • conduyt_update_drip_campaign
  • conduyt_update_intake_deals
  • conduyt_update_invoice
  • conduyt_update_lead_pool_settings
  • conduyt_update_lost_propagation
  • conduyt_update_master_statuses
  • conduyt_update_pipeline
  • conduyt_update_pool_filter_set
  • conduyt_update_product
  • conduyt_update_report_schedule
  • conduyt_update_ring_group
  • conduyt_update_saved_filter
  • conduyt_update_scoring_rule
  • conduyt_update_smart_list
  • conduyt_update_smart_view_dialing
  • conduyt_update_stage
  • conduyt_update_tag
  • conduyt_update_task
  • conduyt_update_template
  • conduyt_update_user
  • conduyt_update_webhook
  • conduyt_upload_call_flow_audio
  • conduyt_wire_call_flow_number
  • conduyt_workflow_promote

Delete 29 · Delete, drop, revoke or wipe things.

  • conduyt_bulk_delete_contacts
  • conduyt_bulk_delete_contacts_matching
  • conduyt_bulk_dnc_contacts
  • conduyt_bulk_untag_contacts
  • conduyt_delete_call_flow
  • conduyt_delete_call_flow_function
  • conduyt_delete_contact
  • conduyt_delete_custom_field
  • conduyt_delete_dashboard
  • conduyt_delete_deal
  • conduyt_delete_pipeline
  • conduyt_delete_pool_filter_set
Show 17 more tools
  • conduyt_delete_report_schedule
  • conduyt_delete_ring_group
  • conduyt_delete_saved_filter
  • conduyt_delete_scoring_rule
  • conduyt_delete_stage
  • conduyt_delete_tag
  • conduyt_delete_task
  • conduyt_delete_webhook
  • conduyt_fromk_webhook_secret
  • conduyt_merge_tags
  • conduyt_remove_dashboard_tile
  • conduyt_remove_dnc
  • conduyt_reply_capture_remove
  • conduyt_set_targets
  • conduyt_unenroll_from_sequence
  • conduyt_update_report
  • conduyt_voice_drop

Not yet classified 44 · We could not tell from the name and description.

  • conduyt_agent_performance_report
  • conduyt_ai_agenda
  • conduyt_ai_conversation_intelligence
  • conduyt_ai_daily_brief
  • conduyt_ai_deal_insights
  • conduyt_ai_enrich_contact
  • conduyt_ai_feed
  • conduyt_ai_next_actions
  • conduyt_ai_task_pipeline_cleanup
  • conduyt_ai_task_segment_and_act
  • conduyt_ai_usage
  • conduyt_appointment_outcome_undo
Show 32 more tools
  • conduyt_appointment_report
  • conduyt_attribution_report
  • conduyt_batch_pause_enrollments
  • conduyt_batch_resume_enrollments
  • conduyt_deactivate_user
  • conduyt_enroll_in_sequence
  • conduyt_export_contact_data
  • conduyt_export_contacts
  • conduyt_export_deals
  • conduyt_export_report
  • conduyt_forget_contact
  • conduyt_fromk_connect
  • conduyt_fromk_lines
  • conduyt_funnel_report
  • conduyt_link_contact_to_deal
  • conduyt_mcp_coverage
  • conduyt_preview_report
  • conduyt_project_blue_lines
  • conduyt_reactivate_user
  • conduyt_reorder_smart_views
  • conduyt_report_fields
  • conduyt_run_report
  • conduyt_sms_delivery_report
  • conduyt_sms_drip_conversion_report
  • conduyt_sms_transports
  • conduyt_speed_to_lead_report
  • conduyt_whatsapp_connect
  • conduyt_whatsapp_senders
  • conduyt_whatsapp_templates
  • conduyt_workflow_simulate
  • conduyt_zoom_connect
  • conduyt_zoom_test

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • CONDUYT_API_KEY

Other settings (environment variables or headers).

  • CONDUYT_API_URL

Files it touches

  • Any path the agent passes to its tools

Tools (292)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • conduyt_account_exports_list

    List recent scheduled account-export runs with per-file metadata (rows, truncation, size, expiry) and authed downloadPath for each completed file. Requires the explicit 'account-exports' API-key scope. Download the CSV bytes via the API or CLI using downloadPath — not through MCP.

  • conduyt_add_contacts_to_smart_list

    Add contacts to a static smart list. Max 500 contacts per request.

  • conduyt_add_dashboard_tile

    Pin a saved report to a dashboard. kind kpi (style ledger | trend | goal; goal needs a target), chart (report needs a group by; style ranked | target | focus), table, or pivot (report needs a pivot). size s / m / l on a six-column grid.

  • conduyt_add_deal_tags

    Tag a deal with one or more EXISTING tags by tag UUID. Tags must already exist (create them with conduyt_create_tag); this does NOT create tags. Deals support tags just like contacts — use this to segment high-value or priority deals. To tag several deals, call this once per deal.

  • conduyt_add_dnc

    Add a phone number (or a contact) to the Do-Not-Call or litigator list — e.g. "add this number to the do not call list". Phone entries block the NUMBER account-wide across dialer/SMS. Requires the explicit 'dnc' API-key scope; adding to the litigator tier is admin-only.

  • conduyt_add_tags

    Add one or more existing tags to a contact by tag UUID. Tags must already exist (create them with conduyt_create_tag); this does NOT create tags.

  • conduyt_agent_performance_report

    Agent performance: every active rep's numbers for the window next to their targets and next to each other: calls, conversations, appointments booked, deals won, revenue, activities, talk minutes, each with the target prorated to the window (daily once per day, weekly per 7 days, monthly per 30.4375 days) and the attainment; a score per rep and a team row. userIds (up to 10) is the compare set. Spans clamp to 366 days; the definition comes back as `definition`.

  • conduyt_ai_agenda

    The copilot's Today agenda for a user: what is on their calendar today (tenant timezone), callbacks they promised, messages waiting for a reply, overdue and due-today tasks, untouched new leads, recent-call follow-ups and deals going quiet — every visibility and opt-out rule applied — with a short brief on top (composed by the account's AI engine when available, otherwise a deterministic sentence built from the counts). Read-only.

  • conduyt_ai_call_disposition

    AI-suggested call disposition. For a RECORDED call the answer is the post-call copilot's grounded insight (summary, disposition with confidence, deal stage move, follow-up) once the transcription worker has built it — HTTP 202 with pending:true while it is still owed (poll again in a few seconds; a pending answer costs nothing). Otherwise (unrecorded call, or the worker gave up) a metadata classifier proposes a disposition from the call's details. Nothing is applied. Requires dialer:view.

  • conduyt_ai_chat

    Conversational AI assistant grounded in your CRM. Send a multi-turn message thread and optionally pin it to a record (contact/deal) so the assistant has live context. Returns the assistant's reply.

  • conduyt_ai_compose_email

    AI-powered email composition. Generates subject, body, and HTML based on contact context, deal stage, and desired tone.

  • conduyt_ai_conversation_intelligence

    AI analysis of a recorded/transcribed call. Returns summary, sentiment, topics, objections, and follow-up suggestions for the conversation.

  • conduyt_ai_daily_brief

    AI-generated daily brief for the current user. Summarizes today's priorities — deals needing attention, overdue tasks, hot leads, and recommended focus.

  • conduyt_ai_deal_insights

    AI analysis of a single deal. Returns risk signals, momentum, and recommended next actions based on the deal's stage, activity, and history.

  • conduyt_ai_enrich_contact

    AI-powered contact enrichment. Finds additional information about a person based on available details. Returns enriched fields like LinkedIn, Twitter, company, and job title.

Show 277 more tools
  • conduyt_ai_execute_actions

    Copilot actions — APPLY. Executes the ready actions from a conduyt_ai_plan_actions result through the same routes the UI uses (permissions, tenant scope, visibility, audit all apply). Send the plan's `actions` array back exactly as received plus its confirmationToken (single-use, expires in 5 minutes, bound to the caller and the exact set — any edit is refused). Optionally narrow with selectedIds. Returns a per-action result; drafts are not sent. Sending the same token again REPLAYS the run (nothing runs twice; the response says replayed:true). A result with inFlight:true was started but never…

  • conduyt_ai_feed

    AI activity feed — a chronological stream of AI-surfaced events and insights across the account.

  • conduyt_ai_import_contacts

    AI-powered bulk contact import. Accepts up to 1000 contacts with optional auto-tagging, smart list creation, and automation enrollment. Deduplicates by email, phone, or both.

  • conduyt_ai_improve_email

    Improve an email draft. Rewrites the body (and optionally the subject) for clarity, tone, and persuasiveness. Pass instructions to steer the rewrite.

  • conduyt_ai_insights

    Query AI-powered CRM insights. 11 query types: report_catalog (every saved report and dashboard this key can run), saved_report (run any saved report by name or id: rows, total, metric, chart data, pivot; optionally windowed with filters.period or filters.dateRange, reps and sources, paged with page / perPage), dashboard (run every tile of a dashboard by name or id, its saved filters or the filters passed for this run), pipeline_health (deals per stage, stale deals), sms_drip_status (SMS drip overview by provider/step), sms_responses_untouched (replied contacts with no follow-up), agent_follow…

  • conduyt_ai_next_actions

    AI-ranked next actions. Returns a prioritized list of suggested actions (replies to send, deals to advance, tasks to do) for a user.

  • conduyt_ai_plan_actions

    Copilot actions — PLAN. Turn a natural-language request ('call Luis back tomorrow at 10', 'note on Ana: prefers texts', 'move the Roof deal to Proposal sent', 'draft a text to Ana about the quote') into a preview of concrete CRM actions resolved against records the caller can see (tasks, callbacks, notes, appointments, existing tags, deal stage moves, SMS/email DRAFTS). Nothing is written by this call. Returns the resolved actions (ready or with an issue such as an ambiguous name) and a single-use confirmationToken bound to that exact set; pass the actions array back UNMODIFIED with the token …

  • conduyt_ai_summarize_contact

    AI-powered contact summary. Analyzes all interactions, deals, and activities to generate a summary with sentiment, key topics, and recommended next steps.

  • conduyt_ai_task_import_and_enroll

    AI task (PREVIEW ONLY): preview bulk-importing contacts and optionally tagging them, enrolling them in an automation, and adding them to a smart list. Returns what WOULD happen — counts, matches, and warnings — without persisting anything. Executing this is intentionally restricted to a human session in the app; agent/API-key callers can only preview.

  • conduyt_ai_task_pipeline_cleanup

    AI task (PREVIEW ONLY): preview finding stale deals in a pipeline and tagging, moving, notifying, or reporting on them. Returns the stale deals and what WOULD happen, without persisting. Executing a mutating action is intentionally restricted to a human session in the app; agent/API-key callers can only preview.

  • conduyt_ai_task_segment_and_act

    AI task (PREVIEW ONLY): preview segmenting contacts by a filter and applying one action (add/remove a tag, assign to a user, or update a field) to the whole segment. Returns the matched count and what WOULD change, without persisting. Executing this is intentionally restricted to a human session in the app; agent/API-key callers can only preview.

  • conduyt_ai_usage

    AI usage and budget report for the account. Returns request counts and budget consumption over a rolling window. Requires an owner/admin API key — other roles get 403.

  • conduyt_api_catalog

    Discover all Conduyt CRM API endpoints across 90+ domains, with full request and response schemas. Call this first to learn what the CRM can do — the response carries the exact, current endpoint counts. NOTE: the catalog is the full REST surface; not every endpoint has a dedicated MCP tool. Call conduyt_mcp_coverage to see exactly which endpoints are callable through MCP tools versus API-only.

  • conduyt_appointment_outcome

    Record an appointment's outcome (completed, no_show, cancelled) in one action: sets the appointment status AND moves the contact's most recently updated open deal to the stage the account mapped for that outcome in Pipeline settings (appointmentOutcomeStages). Returns { appointment, stageMove, reason }; reason explains when nothing moved (no_contact, no_deal, no_mapping, already_there, stage_move_failed).

  • conduyt_appointment_outcome_undo

    Undo the last outcome recorded on an appointment: the status returns to what it was before, and the deal returns to the stage the outcome moved it from — only if it is still in the stage the outcome put it in (a stage changed by hand since is left alone; the answer says stageRestored and reason).

  • conduyt_appointment_report

    Appointment report: every appointment whose time (basis=start, default) or booking (basis=booked) falls in the window: booked, by status (scheduled, confirmed, completed, cancelled, no-show), the outcome of the ones already in the past (held or no-show, show rate), cancellations, reschedules and upcoming; overall and by assigned user, by calendar or booking page, by lead source, by the channel it came in on (booking page, call disposition, created in Conduyt, calendar) and by day. Reschedules count moves by the attendee, by a person in Conduyt, or synced from a connected calendar. Spans clamp …

  • conduyt_attribution_report

    Attribution: where the window's new contacts came from and what they turned into: the contacts created in the window grouped by their first or latest touch (UTM source, medium, campaign, content, term, the channel, the landing page or the referrer), each group followed to appointments booked, deals won and revenue so far. Touches are captured on forms, booking pages, inbound webhooks, imports and contact creation through the API (pass an `attribution` object with utm_source, utm_medium, utm_campaign, utm_content, utm_term, referrer, landingUrl, pageTitle, clickIds). Spans clamp to 366 days; th…

  • conduyt_batch_pause_enrollments

    Pause all active enrollments for a campaign or smart list.

  • conduyt_batch_resume_enrollments

    Resume paused enrollments for a campaign or smart list.

  • conduyt_batch_stop_enrollments

    Permanently stop enrollments for a campaign or smart list. Cannot be undone.

  • conduyt_bulk_delete_contacts

    Soft-delete many contacts in a single call. Requires contacts:delete.

  • conduyt_bulk_delete_contacts_matching

    Soft-delete EVERY contact a list filter matches, across pages (#73, 2026-09-15) — the contacts page's "Select all N matching" action. FIRST CALL: pass the same filter you would give conduyt_list_contacts (search, tag, tags, source, reachability, company, company_id, assigned_to, created_from/to, updated_from/to, min_score, import_id, smart_view, smartListId, filters JSON, master_status, exclude_master_status, cf[key]) and expectedTotal = the meta.total that filter returned. The server re-counts and refuses when the set moved (409 expected_total_mismatch), refuses when some matching contacts ar…

  • conduyt_bulk_dnc_contacts

    Add or remove a Do-Not-Contact / litigator mark for many contacts (compliance action). Requires the EXPLICIT 'dnc' API-key scope — an admin must grant it deliberately in Settings > API Keys (an unrestricted key does NOT imply it; without the scope this returns 403). Writes are also bound by contact-ownership rules for limited keys. To CHECK whether a number is already blocked, use conduyt_get_contact (dnc status) or the contacts dnc-status read.

  • conduyt_bulk_edit_contacts

    Apply the SAME field changes to many contacts at once (one updates object → all ids). For different values per contact, use conduyt_bulk_update_contacts. Requires contacts:edit.

  • conduyt_bulk_edit_deals

    Apply the SAME field changes to many deals at once (one updates object → all ids) — e.g. reassign a set of deals to a user. For different values per deal, use conduyt_bulk_update_deals. Requires deals:edit.

  • conduyt_bulk_tag_contacts

    Add one tag to many contacts in a single call. Requires contacts:edit.

  • conduyt_bulk_untag_contacts

    Remove one tag from many contacts in a single call. Requires contacts:edit.

  • conduyt_bulk_update_contacts

    Apply DIFFERENT field changes per contact in one call (each row carries its own id + fields). For the same change across many, use conduyt_bulk_edit_contacts. Requires contacts:edit.

  • conduyt_bulk_update_deals

    Apply DIFFERENT field changes per deal in one call (each row carries its own id + fields). For the same change across many, use conduyt_bulk_edit_deals. Requires deals:edit.

  • conduyt_call_flow_roster

    Get the routing roster: members with DIDs and their live availability — the people call-flow and ring-group steps can ring.

  • conduyt_call_performance_report

    Unified call report: every call in the window, whatever carried it (the in-app dialer over Twilio, click-to-call Twilio, Project Blue), with the dialer analytics' definitions: calls, inbound and outbound, answered (network completed with talk time), connected and conversations (from the saved disposition), talk time and average talk, voicemails, missed inbound, appointments set and sales closed; overall and by user, transport, direction, disposition, day and hour of the account's timezone. Spans clamp to 366 days; the definition comes back as `definition`.

  • conduyt_cancel_batch_operation

    Stop a queued or running Run Batch. Contacts already processed stay as they are (there is no undo); claimed-but-unprocessed contacts go back to pending and are not touched.

  • conduyt_cancel_drip_enrollment_barrier

    Cancel a drip enrollment's whole send barrier (POST /api/v1/drip-enrollments/{id}/cancel-barrier; admin or owner, the drip-enrollments scope): every parked / queued / failed webhook log of the enrollment is cancelled, including the case where no webhook log exists at all (the processor died after writing its marker). Without a resolution the barrier STANDS (nothing is sent). resolution 'skip' assumes the current step was delivered: the processor advances without sending. resolution 'resend' makes the processor rebuild and send the step AGAIN (a possible duplicate SMS): refused unless acknowled…

  • conduyt_cancel_webhook_log

    Cancel ONE parked / queued / failed webhook log of a drip send whose outcome was unconfirmed (POST /api/v1/webhook-logs/{id}/cancel; admin or owner, the webhooks scope). Without a resolution the log is cancelled and the barrier STANDS (nothing is sent, the enrollment stays parked). resolution 'skip' assumes the step was delivered: the processor advances without sending. resolution 'resend' makes the processor rebuild and send the step AGAIN (a possible duplicate SMS): it is refused unless acknowledgeDuplicateRisk is true. Answers 404 (no such log), 409 webhook_log_in_flight (a request is in fl…

  • conduyt_check_permissions

    Check what the current API key can do — tier, scopes, rate limits, and usage stats.

  • conduyt_complete_task

    Mark a task done (the idiomatic 'complete' action). Sets status to 'done', which the server stamps with completedAt and dispatches task.completed automations/webhooks. Requires tasks:edit.

  • conduyt_create_activity

    Log a new activity — a call, meeting, note, or custom event. Can be linked to a contact.

  • conduyt_create_appointment

    Create a new appointment. Times must include timezone offset (e.g. '2026-05-01T10:00:00-07:00').

  • conduyt_create_automation

    Create a new automation. Requires a name and trigger event. Use conduyt_resolve_names to convert human-readable names to UUIDs before building actions.

  • conduyt_create_batch_operation

    Queue a Run Batch: ONE task applied to many contacts, logged with progress and cancel (no undo). Tasks: enroll (automationId of a published workflow), delete (the #73 engine: cleanup runs, contacts with an upcoming appointment are kept), add_tag / remove_tag (params.tagId), assign (params.userId — one rep) or a round-robin pool (params.userIds, 2–50 reps rotated in order; a rep who is no longer an active member is skipped), set_source (params.source — OVERWRITES the lead source), set_status (params.status — one of the account's lead statuses; a lead with a won deal keeps its status). Pick the …

  • conduyt_create_booking_page

    Create a booking page (POST /api/v1/booking-pages): title, slug, userId (host) and durationMinutes at least; optional written location, videoProvider 'zoom' + videoHostEmail for one Zoom meeting per booking, availabilityRules override, embedAllowedOrigins, leadSource, brandName. Requires calendar:edit (admin/owner).

  • conduyt_create_call_flow

    Create a call flow. Starts as a DRAFT — edit the graph, validate, then publish to make it live on its number.

  • conduyt_create_call_flow_function

    Register a call-flow function endpoint (admin). Conduyt POSTs a signed JSON snapshot of the call (X-Conduyt-Signature = sha256 HMAC of `${timestamp}.${body}` with the secret, X-Conduyt-Timestamp, Idempotency-Key callSid:version:nodeId); the endpoint replies 200 with a JSON object whose top-level strings/numbers/booleans become call attributes. https only, public hosts only, no redirects, 2-8 s timeout, 64 KB response cap. The secret is write-only.

  • conduyt_create_company

    Create a new company record with business details.

  • conduyt_create_contact

    Create a new contact in the CRM. Email or phone is recommended but not strictly required.

  • conduyt_create_custom_field

    Create a new custom field definition for contacts, deals, or companies. Field types: text, number, date, select, multiselect, boolean.

  • conduyt_create_dashboard

    Create a dashboard: a board of tiles, each a saved report shown as a KPI, chart, table or pivot, with one set of filters for the whole board.

  • conduyt_create_deal

    Create a new deal in a pipeline with full attributes. Requires a pipeline and stage ID — use conduyt_list_pipelines to discover them. Supports currency (e.g. GBP), probability, priority, expected close date, and structured custom-field values.

  • conduyt_create_drip_campaign

    Create a new drip campaign with step delays, send windows, and provider configuration.

  • conduyt_create_form

    Create a new web form. Generates a unique slug automatically if not provided.

  • conduyt_create_invoice

    Create a new invoice with line items. Automatically calculates subtotal, tax, and total.

  • conduyt_create_notification

    Send an in-app notification to a team member. Optionally triggers a web push notification.

  • conduyt_create_pipeline

    Create a new sales pipeline, optionally with its full set of stages in one call. If stages are omitted, default New/Won/Lost stages are created. There is no fixed limit on stage count — pass as many as your funnel needs (e.g. eight active stages plus 'On Hold' and 'Declined/Dead').

  • conduyt_create_pool_filter_set

    Add a named filter set to a pool page (admin only). A new set is a DRAFT (off) unless isEnabled is true. Enabling a set that would OPEN the whole page (no rule) is refused with 409 pool_opens unless acknowledgeOpensPool is true. Every tag name a rule carries must be a live tag (422 tag_missing); a custom field must exist (422 custom_field_missing). pageVersion is the one your list read answered (409 page_version_stale when the page moved since: re-list and retry).

  • conduyt_create_product

    Create a new product in the catalog.

  • conduyt_create_report

    Create a saved custom report. contacts/deals bases support rollup columns, cf:<key> custom fields, a Smart View population and groupBy2 (see conduyt_report_fields).

  • conduyt_create_report_schedule

    Schedule a saved report to be emailed on a cadence. The delivery runs with the visibility of whoever creates it. Needs reports export.

  • conduyt_create_ring_group

    Create a ring group on an account number. Without memberIds the group is created INACTIVE.

  • conduyt_create_saved_filter

    Save a named contact filter for one-click re-use — e.g. "save a filter for Heather's Facebook leads". Since 2026-09-24 a saved filter IS a personal Smart View (the Smart Views tab), private to the key's user for every role (max 50 per user). Requires the 'saved-filters' scope.

  • conduyt_create_scoring_rule

    Create a lead scoring rule. Awards points to contacts matching a condition.

  • conduyt_create_sequence

    Create a new email sequence with steps. Each step has a delay and email content.

  • conduyt_create_smart_list

    Create a new smart list (segment). Static lists have manually added contacts; dynamic lists use filter rules.

  • conduyt_create_stage

    Add a new stage to an existing pipeline. The stage is appended after the current last stage. Use this to extend a funnel (e.g. add 'On Hold' or 'Declined/Dead').

  • conduyt_create_tag

    Create a new tag. Rejects duplicates.

  • conduyt_create_task

    Create a new task. Can be linked to a contact or deal and assigned to a team member.

  • conduyt_create_template

    Create a new email or SMS template.

  • conduyt_create_user

    Create a new team member directly (no invite email). Generates a random password. Use conduyt_invite_user for email-based onboarding.

  • conduyt_create_webhook

    Register a new webhook endpoint. Returns the signing secret once — store it securely. Events: contact.created/updated/deleted, contact.tag_added/removed, deal.created/updated/stage_changed/won/lost/deleted, company.created/updated/deleted, message.sent/received, appointment.created/updated/cancelled, campaign.completed.

  • conduyt_dashboard

    Get a full CRM dashboard summary — pipeline stages with deal values, recent activities, contact/deal/task counts, admin metrics (overdue tasks, stale deals, unassigned items, team workload), billing summary, contacts needing follow-up, and overdue tasks.

  • conduyt_deactivate_user

    Deactivate (soft-disable) a team member so they can no longer sign in. Optionally reassign their open records to another user. Requires the users:deactivate permission.

  • conduyt_delete_call_flow

    Delete a call flow. A PUBLISHED flow refuses deletion (409) — call conduyt_unpublish_call_flow first.

  • conduyt_delete_call_flow_function

    Remove a call-flow function endpoint (admin). Refused while a PUBLISHED flow still calls it — edit and republish that flow first.

  • conduyt_delete_contact

    Delete a contact by UUID (soft-delete — the contact is removed from lists/searches but the row is retained for audit, and its deals are unaffected). Use this to clean up test or duplicate contacts. There is no undelete endpoint, so treat it as irreversible via the API.

  • conduyt_delete_custom_field

    Delete a custom field definition. Removes the field from all entities.

  • conduyt_delete_dashboard

    Delete a dashboard (its tiles go with it; the saved reports stay).

  • conduyt_delete_deal

    Delete a deal by UUID (soft-delete — the deal is removed from lists/boards and its value drops out of pipeline totals, but the row is retained for audit). Use this to clean up test or mistaken deals. There is no undelete endpoint, so treat it as irreversible via the API.

  • conduyt_delete_pipeline

    Delete a pipeline. Deals in the pipeline must be moved or removed first. Cannot delete the default or an archived pipeline.

  • conduyt_delete_pool_filter_set

    Remove a pool filter set (admin only). Removing the LAST enabled set once the legacy filter is retired OPENS the page to every unassigned lead: refused with 409 pool_opens unless acknowledgeOpensPool is true. pageVersion is the one your list read answered for the set's page.

  • conduyt_delete_report_schedule

    Remove a schedule. Past deliveries stay downloadable until they expire (14 days).

  • conduyt_delete_ring_group

    Delete a ring group. Its number keeps ringing default routing afterwards.

  • conduyt_delete_saved_filter

    Delete one of YOUR saved filters (a personal Smart View) by id. Owner-only. Requires the 'saved-filters' scope.

  • conduyt_delete_scoring_rule

    Delete a lead scoring rule.

  • conduyt_delete_stage

    Delete a stage from a pipeline. The stage must be empty (no deals) — move or reassign deals first.

  • conduyt_delete_tag

    Delete a tag. Removes the tag from all contacts.

  • conduyt_delete_task

    Delete a task by UUID (hard delete — the task row is removed and a task_deleted activity is logged for audit). There is no undelete endpoint, so treat it as irreversible via the API. Requires tasks:delete.

  • conduyt_delete_webhook

    Delete a webhook endpoint.

  • conduyt_enroll_in_sequence

    Enroll one or more contacts into an email sequence. Skips contacts already enrolled.

  • conduyt_export_contact_data

    GDPR data-portability export: returns the full portable JSON of everything held about a contact — profile, custom fields, tags, messages, notes, deals, activities, calls, appointments, files, and consent/suppression records. Read-only. Requires an owner or admin API key (the API enforces this).

  • conduyt_export_contacts

    Export contacts as JSON with filtering. Returns all matching contacts with tags and custom fields.

  • conduyt_export_deals

    Export deals as JSON with filtering by status, pipeline, or search term.

  • conduyt_export_report

    Export every matching row of a saved report (up to 50,000) as CSV or XLSX text. Returns the file body; for a large report narrow the filters or ask for the scheduled delivery.

  • conduyt_forget_contact

    IRREVERSIBLE GDPR right-to-be-forgotten erasure: permanently anonymizes the contact and erases their personal data EVERYWHERE it appears — messages, notes, deals, files, automations, and exports — across the whole account. Suppression/consent tombstones are kept so they are not re-contacted. THERE IS NO UNDO. Requires an owner API key (the API enforces this) and an explicit confirm='FORGET'. On a large tenant this can legitimately take tens of seconds. A 409 is retryable (a concurrent merge or in-flight automation) — retry once.

  • conduyt_fromk_connect

    Connect or replace the account's FromK.ai workspace API key (PUT /api/v1/settings/fromk): fk_… with numbers:read, contacts:write and messages:send. Verified with FromK.ai before it is stored (it must list the workspace's lines: 422 key_rejected / key_scope, 502 vendor_unavailable, nothing stored). Pass disconnect: true to forget the key, the signing secret, the lines and every contact link instead (DELETE): workflow steps on the FromK.ai channel stop sending. Requires settings:edit.

  • conduyt_fromk_lines

    Refresh the FromK.ai line list from the workspace with the stored key and store it as the new snapshot (GET /api/v1/settings/fromk/lines): every line with sendReady (assigned, ownership verified, SMS-capable, on a real carrier). A send-ready phoneNumberId is a valid send_sms config.fromkPhoneNumberId / conduyt_send_sms fromkPhoneNumberId. 409 fromk_not_configured, 422 key_revoked, 502 vendor_unavailable (the old snapshot is kept). Requires settings:view.

  • conduyt_fromk_status

    FromK.ai connection for this account (GET /api/v1/settings/fromk): status connected | not_configured, the API key masked, the lines snapshot (phoneNumberId, phoneE164, status, provider, sendReady) and the webhook setup (the URL the tenant pastes into FromK.ai → Developers → Webhooks, whether the signing secret is stored, the events to subscribe). Requires settings:view.

  • conduyt_fromk_webhook_secret

    Store (PUT /api/v1/settings/fromk/webhook) or forget (DELETE, clear: true) the signing secret of the FromK.ai webhook endpoint the tenant pointed at Conduyt (whsec_…, shown once by FromK.ai when the endpoint is created). Until it is stored, FromK.ai replies and delivery reports are refused. 409 fromk_not_configured before the key is connected. Requires settings:edit.

  • conduyt_funnel_report

    Stage funnel for ONE pipeline: every deal that entered each stage in the window (created in it, or moved into it) and what happened to that presence so far (advanced to a later stage, lost, moved back, handed off to another pipeline, still there; the five add up to the entries), with the median days a settled stay lasted, plus the pipeline cohort (deals created in the window by where they sit now: won / lost / open). Built from recorded stage moves, never from where deals sit now. Windows clamp to 90 days. GET /api/v1/reports/funnel

  • conduyt_get_agent_statuses

    Read the account's curated dialer agent statuses (2026-09-15): Available, Break, Lunch, Meeting, Training, Offline. Each carries a FIXED basis the dialer runs on (available = takes inbound calls and Smart Dialing hand-outs; break = signed in, not ringable; offline = signed out), the tenant's label, and whether the tenant hid it from the softphone menu. Admins rename or hide with conduyt_update_agent_statuses; Available and Offline can never be hidden. Reports bucket by basis; heartbeats and status logs also carry the chosen code (statusCode).

  • conduyt_get_appointment

    Get a single appointment with full details — contact, assignee, booking page, and notes.

  • conduyt_get_automation

    Get a single automation with full details — trigger, actions graph, schedule, and execution stats.

  • conduyt_get_batch_operation

    One Run Batch run with its per-contact items: status per contact (pending | success | error | skipped) with the reason (e.g. 'kept: upcoming appointment', 'tag already applied', 'a lead a deal has won keeps its status').

  • conduyt_get_booking_page

    One booking page with every setting (GET /api/v1/booking-pages/{id}). Requires calendar:view.

  • conduyt_get_call

    Get a single call record by UUID (read-only) — direction, status, duration, disposition, notes, transcript text (if any), and the linked contact/user. Recording/voicemail URLs are withheld; hasRecording/hasVoicemail flags indicate their presence. Requires dialer:view.

  • conduyt_get_call_flow

    Get one call flow including its draft and published graphs.

  • conduyt_get_call_flow_wiring

    Twilio's truth for a call flow's number: the voice webhook Twilio has right now vs the inboundUrl Conduyt needs, and whether they match (wired). A published flow that is NOT wired does not receive calls.

  • conduyt_get_call_recording_settings

    Read the workspace's call recording policy for both kinds of line. twilio = the workspace's Twilio lines: always an object, with everything off when the workspace never set it. Needs a key whose creator may view settings; without it the tool answers with an error instead of a policy. iphone = the iPhone line's OWN policy (outbound only); null = none was written, and the iPhone line then follows the Twilio lines' policy without its inbound part. Each object is the policy as it is APPLIED: inbound, outbound, disclosure { enabled, on: 'inbound' | 'outbound' | 'both' } (whether a recording disclos…

  • conduyt_get_company

    Get a single company with full details — contacts (up to 100), deals (up to 50), and aggregated deal value.

  • conduyt_get_contact

    Get a single contact with full details — profile, tags, custom fields, timeline, deals, and activity history.

  • conduyt_get_contact_table_defaults

    Read the account-level DEFAULT COLUMNS for the Contacts list: the column ids every user gets merged into their own layout on their next visit (each version once; users can rearrange afterwards). null = no account default (users see the built-in layout). Reads /api/v1/settings (settings:view).

  • conduyt_get_conversation

    Read the full conversation thread for one contact — the chronological SMS/email message history (both inbound replies and outbound sends), plus conversation state, unread count, and recent notes. Use this to see what a contact has replied before deciding how to follow up. Requires communications:view.

  • conduyt_get_dashboard

    One dashboard with its tiles and their reports.

  • conduyt_get_deal

    Get a single deal with full details — value, currency, probability, stage, contact, expected close date, custom-field values, activities, tasks, and history. Use this to read structured custom-field data back out of a deal (e.g. for a P&L or balance-sheet model).

  • conduyt_get_dialer_settings

    Read the account's Smart Dialing policy: autoAdvanceEnabled + pauseSeconds + advanceOn ('disposition' = the next dial waits for a saved disposition, 'timer' = the pause starts when the call ends), openLeadOnDial (the lead's record opens as each Smart Dialing call goes out), smartDialCallerId ('local_presence' = an area-code match from the number pool, the rep's own line when no pool exists; 'did' = always the rep's own line), and localPresenceConfigured (whether a number pool exists).

  • conduyt_get_drip_campaign

    Get a single drip campaign with full details — steps, delays, send windows, and provider config.

  • conduyt_get_form

    Get a single form with fields, settings, and submission count.

  • conduyt_get_invoice

    Get a single invoice with line items, payments, contact, and company details.

  • conduyt_get_lead_pool_settings

    Read the admin-curated lead pool behind Up for Grabs / Lead Pool (settings.poolFilter + poolClaimDailyLimit). When enabled, an unassigned lead is offered only if it matches EVERY configured criterion: tagIds (any of), sources (any of), minScore (lead score >=), maxScore (lead score <=; min = max keeps one exact score), createdWithinDays (added to the CRM in the past N days: the contact's creation time — import, webhook, form, API or by hand; a re-import into an existing contact does not make it new). An empty criterion is skipped; enabled with nothing configured reads as disabled. Claims are g…

  • conduyt_get_lifecycle_settings

    Read the account's Lifecycle configuration (v2 + v3), shaped for read-before-write: dealWorkingMode and lostPropagation say how the tenant works leads and whether lost propagation is live; masterStatuses.effective is the full list a contact's masterStatus may take (the five built-in defaults plus the account's customs — the raw settings key stores only the customs); intakeDeals is the automatic deal-on-intake config, or null with an intakeDealsNote explaining that null can mean either not-configured or not-visible-to-your-key (the setting is admin-visible; member-tier responses omit it).

  • conduyt_get_post_call_insight

    The post-call copilot's read of a RECORDED call (read-only): the transcription ledger state (none | pending | processing | done | failed | skipped, with the error or skip reason) and the stored insight — summary, sentiment, key topics, the suggested disposition with its confidence, a suggested deal stage move (only ever to a stage of the deal's own pipeline), a suggested follow-up task, and what it was grounded on (the account's AI knowledge, the client's configured dispositions). Nothing is applied by the copilot: a rep, or an agent through conduyt_update_deal / conduyt_create_task, acts on i…

  • conduyt_get_product

    Get a single product with full details — pricing, SKU, and metadata.

  • conduyt_get_ring_group

    Get one ring group.

  • conduyt_get_sequence

    Get a single email sequence with full details — steps, enrollment stats, and configuration.

  • conduyt_get_smart_dialing_order

    The Smart Dialing PRIORITIES, uncapped: every dial-enabled, account-wide contact Smart View in dial order (exactly the set the queue walks; personal views and deal views are never priorities) plus the candidates that could become one. Prefer this over conduyt_list_smart_views (capped at 100) before changing the priority order.

  • conduyt_get_smart_list

    Get a single smart list with contact count and filter definitions.

  • conduyt_get_smart_list_contacts

    Get contacts in a smart list. For static lists, returns the members; for dynamic lists, runs the filter query.

  • conduyt_get_task

    Get a single task by UUID with full details — title, description, due date, status, priority, and the linked assignee, creator, contact, and deal.

  • conduyt_get_template

    Get a single email or SMS template with full content.

  • conduyt_get_user

    Get a single team member with full profile — name, email, phone, role, permissions, and activity.

  • conduyt_get_user_stats

    Get a team member's performance stats — contacts assigned, deals (total/won/value), tasks (total/completed/pending), and last activity.

  • conduyt_import_deals

    Bulk-import deals from a list of rows in one call. Runs on the canonical import engine — pipelines and stages are resolved by NAME (create them first with conduyt_create_pipeline), contacts by email. Deduplicates on title + pipeline + contact, and intentionally does NOT fire deal-created automations/webhooks/SMS/email (bulk imports are side-effect-free by design). Requires an owner/admin API key. Returns the created/skipped/duplicate counts and any per-row errors.

  • conduyt_import_preflight

    Pre-check a contact import BEFORE running it — returns criticalWarnings (phone-less list bound for SMS, heavy create-only duplicate skips, double-mapped columns), duplicate/existing-match estimates, invalid emails, DNC/litigator hits, SMS-provider readiness, and plan-limit impact. Same engine the import wizard uses; call this before conduyt_ai_import_contacts on any sizeable list.

  • conduyt_invite_user

    Invite a new team member via email. Sends an invite email with a link to set their password.

  • conduyt_link_contact_to_deal

    Associate an existing contact with an existing deal (creates a deal↔contact link). A deal's primary contact is set at create time via contactId; use this to attach ADDITIONAL contacts (e.g. a decision-maker plus an influencer) to the same deal. Both must already exist and belong to your account.

  • conduyt_list_activities

    List recent activities across the CRM — calls, emails, notes, meetings, deal changes, and system events.

  • conduyt_list_appointments

    List appointments with filtering by date range, calendar, contact, assignee, or status.

  • conduyt_list_automations

    List all automations (workflows) in the account. Returns name, trigger event, status, and execution counts.

  • conduyt_list_batch_operations

    List Run Batch runs (newest first): task (operation + params with the display names), status (queued | running | completed | cancelled | failed), totals and progress, creator, comment.

  • conduyt_list_booking_pages

    List the account's booking pages (GET /api/v1/booking-pages): slug, title, host, duration, active, video option. Requires calendar:view.

  • conduyt_list_calendars

    List all calendars in the account with appointment counts.

  • conduyt_list_call_flow_functions

    List the account's call-flow function endpoints — the HTTPS endpoints a flow's "Call a function" step may invoke mid-call (settings scope).

  • conduyt_list_call_flow_numbers

    The voice numbers this workspace owns in Twilio, each with what answers it in Conduyt today (claimedBy: call flow / ring group / main line) and whether its Twilio voice webhook is already wired to Conduyt. Use it to pick a free number for a flow.

  • conduyt_list_call_flows

    List call flows (IVR routing graphs) with their status (draft/published) and attached phone numbers.

  • conduyt_list_calls

    List call-history records (read-only) with filters — review past inbound/outbound calls, their status, duration, and disposition. Newest first. Returns metadata only by default (NO call transcripts, NO recording/voicemail URLs — only hasRecording/hasVoicemail/hasTranscript flags), so a routine list never pulls raw transcripts into context. To read a specific call's transcript, use conduyt_get_call. Requires dialer:view.

  • conduyt_list_companies

    List and search companies. Returns name, domain, industry, contact count, deal count, and total deal value.

  • conduyt_list_contacts

    List and search contacts with filtering. Returns paginated results with name, email, phone, tags, source, and assignee.

  • conduyt_list_custom_fields

    List custom field definitions. Filter by entity type (contact, deal, or company) to see available fields.

  • conduyt_list_dashboards

    The dashboards this key can open (shared boards and its own; admins see all): name, filters, tiles.

  • conduyt_list_deal_views

    List the account's SAVED DEAL VIEWS (saved deal segments, e.g. 'Open deals over $10k'), each with its id, name, stored filter rules, and current deal count. Read-only — shows how the account segments its deals.

  • conduyt_list_deals

    List deals with filtering by pipeline, stage, assignee, or status. Returns deal title, value, stage, contact, and dates. Filter by pipeline/stage NAME (the same names you import with) or by UUID — both camelCase (pipelineName) and snake_case (pipeline_name) argument names are accepted. An unknown name returns a clear error, never the whole account.

  • conduyt_list_dnc

    List active Do-Not-Call / litigator entries. Filter by search (phone or contact name) or tier. Requires the explicit 'dnc' API-key scope.

  • conduyt_list_drip_campaigns

    List SMS/email drip campaigns with enrollment counts and provider info.

  • conduyt_list_drip_enrollments

    List drip campaign enrollments with contact and campaign details. Filter by campaign, contact, or status.

  • conduyt_list_form_submissions

    List submissions for a specific form with contact details.

  • conduyt_list_forms

    List web forms with submission counts. Filter by active status or search by name.

  • conduyt_list_invoices

    List invoices with filtering by status, contact, or date range.

  • conduyt_list_messages

    List individual messages across contacts with filters — read inbound replies and outbound sends account-wide, or scoped to one contact. Newest first. Use direction='inbound' to surface replies that need a response. Requires communications:view.

  • conduyt_list_notifications

    List notifications for the current user (determined by API key's associated user).

  • conduyt_list_pipelines

    List all sales pipelines with their stages. Use this to discover pipeline and stage UUIDs before creating or moving deals.

  • conduyt_list_pool_filter_sets

    The named filter sets behind the gear on Up for Grabs or Lead Pool (admin only): each set's name, Advanced Filters payload, enabled flag and order, plus the page's current pageVersion — every write must name it, so LIST FIRST. The page shows the UNION of the enabled sets; a page with an enabled rule-less set — or no set once the legacy filter is retired — is OPEN to every unassigned lead.

  • conduyt_list_products

    List products in the catalog. Filter by active status or search by name.

  • conduyt_list_report_schedules

    The scheduled deliveries on a saved report (daily / weekly / monthly emails of the report as CSV, XLSX or PDF): cadence, time, formats, recipients, next and last run.

  • conduyt_list_reports

    List the account's saved custom reports (shared ones and your own), with their definition and last-run status.

  • conduyt_list_ring_groups

    List ring groups (simultaneous/sequential ring sets over member DIDs) with their numbers and members.

  • conduyt_list_saved_filters

    List YOUR saved contact filters (the web app's 'Saved' dropdown on All Contacts). Each entry has a name, the grouped filter payload, and sort. Saved filters are personal to the API key's user. Requires the 'saved-filters' scope.

  • conduyt_list_scoring_rules

    List lead scoring rules. Each rule awards points when a condition matches a contact.

  • conduyt_list_sequences

    List email sequences (drip campaigns). Returns name, step count, enrollment stats, and active status.

  • conduyt_list_smart_lists

    List all smart lists (segments) with contact counts.

  • conduyt_list_smart_views

    List the account's Smart Views in sidebar order with their lead counts, audience (groupId + group name, members, isPersonal) and Smart Dialing settings (dialEnabled = it is a dialing priority; sortPosition = its rank; maxDialAttempts, maxDialAttemptsPerDay, dialCooldownMinutes, dialSchedule). Use it to answer "what does the team dial first?" or before changing a priority.

  • conduyt_list_tags

    List all tags in the account with contact counts. Use this to discover tag names and IDs.

  • conduyt_list_targets

    The account's per-user targets (userId, metric, period, value). Admins and owners read everyone's; anyone else reads their own. Metrics: calls, conversations, appointments, deals_won, revenue, activities, talk_minutes; periods: daily, weekly, monthly.

  • conduyt_list_tasks

    List tasks with filtering by assignee, status, or due date. Returns task title, description, due date, priority, and assignee.

  • conduyt_list_templates

    List email and SMS templates. Filter by channel (sms/email), category, or active status.

  • conduyt_list_up_for_grabs

    The Up for Grabs queue as the rep-facing page shows it: open claim offers plus the implicit pool of unassigned leads the account's curated pool filter admits (highest lead score first, up to 200), each with a teaser (name, company, source, score, city/state; phone and email only for admin keys) and eligibleCount. poolFilter is the active curation (tags resolved to names) and criteria the plain-English line under the page header — empty when curation is off. Claim with POST /api/v1/up-for-grabs/{contactId}/claim. Requires the up-for-grabs scope on the key.

  • conduyt_list_users

    List team members with optional performance stats. Returns name, email, role, status, and last login.

  • conduyt_list_webhooks

    List all registered webhooks with their events, status, and failure counts.

  • conduyt_mcp_coverage

    The REST-to-MCP coverage matrix: which of the catalog's API endpoints are callable through MCP tools (and by which tool), which are deliberately excluded (with reasons — e.g. interactive-only auth/billing, inbound webhook receivers, realtime browser surfaces), and which are planned but not yet wrapped. Use this to know up front whether a capability you discovered in conduyt_api_catalog is executable here, instead of failing mid-task. Ships with the package and matches this release's tools exactly.

  • conduyt_merge_tags

    Merge two tags — moves all contacts from source tag to target tag, then deletes the source. Useful for deduplicating tags.

  • conduyt_move_smart_view

    Move ONE Smart View next to another in the sidebar order (admin key): pass the moved view's id and exactly one anchor, beforeId (it lands directly above that view) or afterId (directly below). Every other view keeps its relative position; no size limit, so use this on accounts with more than 200 views (conduyt_reorder_smart_views is capped at 200 ids). The order is the Smart Dialing priority for dial-enabled views.

  • conduyt_preview_report

    Run an UNSAVED report definition (10 rows) to check columns and filters before saving. Same fields as conduyt_create_report.

  • conduyt_project_blue_assign_line

    Assign a Project Blue line to an agent, or release it (userId null). One line per agent and one agent per line: assigning a line another agent holds, or to an agent who already has a line, MOVES it — the response's `released` lists what was displaced. The line must exist on the vendor account right now (404 line_not_found otherwise); the agent must be an active member (404 user_not_found). Requires settings:edit.

  • conduyt_project_blue_lines

    The LIVE Project Blue line inventory read from the vendor with this account's key: every line (lineId, E.164 phoneNumber, name) with its assigned agent (assignedTo) or null, plus `orphaned` — assignments whose line the vendor no longer lists. 409 when Project Blue is not connected, 422 when the stored key was revoked, 502 when the vendor is unreachable. Requires settings:view.

  • conduyt_project_blue_status

    Project Blue connection status for this account (connected / not_configured, the API key masked) plus the current line assignments (which agent holds which iPhone line). Requires settings:view.

  • conduyt_project_blue_voice_connect

    Store Project Blue's Twilio Voice keys for this account (from their dashboard: Settings → General → API Keys → Voice Calling API). Conduyt verifies them against Twilio READ-ONLY and records the caller ID that account can present; a rejected key set is refused with the reason. Pass clear=true to remove the keys (iPhone-line calls fall back to FaceTime Audio).

  • conduyt_project_blue_voice_status

    Project Blue VOICE calling status: whether the vendor's Twilio Voice keys (Account SID, TwiML App SID, API Key) are stored, masked, and the caller ID that account presents for iPhone-line calls (the line itself once Project Blue verifies it, else the vendor-provisioned number). The secret is never returned.

  • conduyt_publish_automation

    Publish an automation — copies the draft actions to the live published version. The automation must have actions defined. The publish is bound to the draft revision you reviewed (fetched automatically unless you pass expectedConfigRevision).

  • conduyt_publish_call_flow

    Publish a call flow's draft, making it live on its phone number. Refuses an invalid graph. expectedUpdatedAt is REQUIRED (the API returns 428 without it): read the flow first and pass its updatedAt — a concurrent edit then fails 409 instead of being published over.

  • conduyt_reactivate_user

    Reactivate a previously deactivated team member, restoring their access.

  • conduyt_recalculate_scores

    Recalculate lead scores for all contacts based on current scoring rules. Returns count of contacts processed and changed.

  • conduyt_release_call_flow_tombstone

    Release a number still held by a deleted call flow's tombstone: restores the number's pre-Conduyt Twilio configuration (verified) and lets the tombstone go. Admin. 404 when no tombstone holds the number; 409 when Conduyt still answers it and no prior configuration is known.

  • conduyt_release_ring_group_number

    Release a phone number from ring-group routing (DESTRUCTIVE). confirm must be the EXACT phone number repeated as a string. A number still referenced by an ACTIVE ring group cannot be released — delete or repoint that group first; force does NOT bypass it. force exists only for numbers whose Twilio ownership cannot be verified, and then a non-empty forceReason is required.

  • conduyt_remove_dashboard_tile

    Remove a tile from a dashboard (the saved report stays).

  • conduyt_remove_dnc

    Remove (soft-delete) a Do-Not-Call / litigator entry by its entry id — unblocks the number/contact. Use conduyt_list_dnc to find the entry id first. Requires the explicit 'dnc' API-key scope.

  • conduyt_reorder_smart_views

    Set the SIDEBAR order of Smart Views (admin key). Pass EVERY view id from conduyt_list_smart_views in the wanted order (max 200, no duplicates) — views you leave out keep a stale position, so always send the full list. For the dialing priority use conduyt_set_smart_dialing_order, which only needs the dial-enabled ids.

  • conduyt_reply_capture_get

    Get the account's reply-capture state: whether it is configured and live, the capture domain and reply address, DNS records for a pending setup, and provider health. health='checking' with a healthWarning means the provider is re-checking DNS — capture stays active. degraded=true means the provider can no longer receive on that domain and it must be removed and set up again. needsSupport=true means an operator must reconcile it first. cleanupPending=true means a previous removal did not finish at the provider — call conduyt_reply_capture_remove again to complete it. After a removal: draining=t…

  • conduyt_reply_capture_remove

    Remove reply capture. Outcome depends on the domain's state. LIVE with a provider-backed setup: it DRAINS — the capture Reply-To stops on new email immediately, but the address keeps receiving for 30 days (drainEndsAt in the response) so late replies to already-sent emails still reach the contact's timeline; after that it parks, and the name is permanently retired (no account can ever set it up again — resuming capture means a NEW subdomain, see suggestedDomain on conduyt_reply_capture_get). LIVE legacy row with no stored provider id: removed immediately with NO drain — reply threading stops a…

  • conduyt_reply_capture_setup

    Start reply-capture setup: creates the receiving domain at the email provider and returns the DNS records to add. The domain MUST be a strict subdomain of the account's own verified sending domain (omit it to use the suggested 'reply.<sending-domain>'); anything else is refused. Requires a verified sending domain first. After adding the DNS records, call conduyt_reply_capture_verify. A 409 means capture is already configured, a setup is already in progress, the previous one still needs operator reconciliation, or the requested name belongs to a retired (drained/parked) domain — retired names a…

  • conduyt_reply_capture_verify

    Check the pending reply-capture domain's DNS and promote it to live once the provider reports it verified with inbound receiving in place. Returns verified=false plus the current DNS record states while records are still propagating — that is expected, not an error; poll sparingly (DNS takes minutes, and this endpoint is budgeted per account). Promotion is what turns on inbound matching and the Reply-To on outgoing email.

  • conduyt_reply_suggestion

    Copilot Tier 2 — the suggested reply for a contact's LATEST inbound text or email (what they said, what they are asking, sentiment, and a draft reply shaped for the channel). Advice only: nothing is sent by this tool. state: ready | pending (the copilot has not read it yet) | none | decided | skipped (opt-out, do-not-contact, feature off).

  • conduyt_reply_suggestion_decide

    Copilot Tier 2 — record what was done with a suggested reply: accepted (the draft was taken into a composer), sent (with the outbound message id, after sending it through conduyt_send_message / the messages API), or dismissed. A suggestion moves once (accepted → sent is allowed).

  • conduyt_report_fields

    The field catalogue a custom report may use on a base: the entity's own columns, its per-row rollups (contacts/deals) and the account's custom fields, with type, operators and whether each can group, sort or be measured. Read this before building a report.

  • conduyt_report_schedule_deliveries

    The delivery history of a schedule (newest first): status, rows, whether it was emailed, and download URLs for the files.

  • conduyt_resolve_names

    Resolve human-readable names to UUIDs. Use this before creating automations — converts tag names, pipeline names, user names, and custom field labels to their UUIDs.

  • conduyt_run_dashboard

    Run every tile of a dashboard with the board filters applied (pass filters to override them for this run only): KPI tiles carry the value, the previous window's value, the delta, and for trend a series, for goal the progress and pace; chart tiles the chart data; table tiles the first rows; pivot tiles the pivot grid. A tile whose report fails carries its error and the rest still return.

  • conduyt_run_report

    Run a saved custom report: a page of rows (per_page ≤ 500), the total, the metric, the chart data (groupBy) and, on contacts/deals with groupBy2, the two-dimensional grouped rows.

  • conduyt_scheduled_export_get_settings

    Get the account's scheduled-export configuration (enabled, frequency, entities) and whether the Enterprise feature is available on the current plan.

  • conduyt_scheduled_export_update_settings

    Update scheduled-export settings. Enabling requires an Enterprise plan (403 upsell otherwise). Omitted fields keep their current values. Weekly exports run on Mondays; all exports run in the morning of the account timezone and files are kept 14 days.

  • conduyt_search

    Global search across all CRM entities — contacts, deals, companies, tasks, plus notes, messages, activities and document text. Names, emails, phones and deal titles match from 2 characters; the text legs (note/message/activity/task bodies, message subjects, activity titles) need 3 or more and each runs under a 3-second budget — a leg cut at the budget is left out and the response says so (`partial: true`, `partialLegs: [...]`); with a term under 3 characters the text legs are not searched and `skippedLegs` lists them (`textMinLength` = 3); retry with a longer or more specific term.

  • conduyt_send_email

    Send a single email to a contact. Requires either HTML or plain text body. Subject line max 998 characters.

  • conduyt_send_invoice

    Send an invoice to the contact via email. Generates PDF, creates Stripe payment link, and sends via email.

  • conduyt_send_report_schedule_now

    Build and email a schedule right now (one manual delivery; the schedule itself is untouched). Rate-limited to 3 per 10 minutes per schedule.

  • conduyt_send_sms

    Send an SMS message to a contact. Contact must have a phone number and not have opted out. Max 1600 characters.

  • conduyt_set_contact_table_defaults

    Set the account-level DEFAULT COLUMNS for the Contacts list (settings:edit). Every user's saved layout gains the columns it lacks on their next visit (appended; nothing they already show moves); at most 8 ids; custom fields as 'custom:<fieldKey>' (the key must exist). The write is revision-fenced: by default the tool reads the current row and names its `revision` (version@epoch); pass expectedRevision to fence on a row you read earlier. A concurrent change answers { conflict: true, current } — re-read and decide, nothing was overwritten.

  • conduyt_set_smart_dialing_order

    Set the Smart Dialing PRIORITY order (admin key): pass the dial-enabled Smart View ids in the wanted order — every dial-enabled view exactly once, nothing else. The server rebuilds the account-wide view order so views that are not priorities keep their slots. Prefer this over conduyt_reorder_smart_views for dialing.

  • conduyt_set_smart_view_audience

    Who a SHARED Smart View is for (admin key): everyone on the account, one Team group (its CURRENT members, resolved when the view is read, so a rep added to the group later sees it and dials from it), or picked reps. A group replaces picked reps and vice versa. Personal views (a rep's own) have no audience.

  • conduyt_set_targets

    Set per-user targets in one call (admins and owners): one row per user, metric and period is replaced; value 0 removes it; every user must be an active member. Up to 200 targets.

  • conduyt_simulate_call_flow

    Answer "if someone calls right now, who picks up?" — simulates the DRAFT graph against LIVE member availability (DIDs, on-call state). No side effects.

  • conduyt_sms_delivery_report

    SMS provider delivery-outcome report for external-workflow SMS drips: per-automation entered vs delivered / rejected (invalid, litigator, DNC) / provider-error / workflow dead-end, plus a send-attempt 'why rejected' reason breakdown (line_type = 'not mobile' often WRONGLY rejected; landline_skipped / no_phone_skipped = Conduyt's own recorded skips). Use to answer 'what did the SMS provider do with our drips?'

  • conduyt_sms_drip_conversion_report

    Conversion by drip STEP for external-workflow SMS drips: for each text in each SMS-drip automation, how many contacts were texted and how many of them replied, booked an appointment, moved their deal forward (to a non-Lost stage) or won, credited last-touch inside the attribution window (the next text, from any drip, closes the window early). Per-step and per-automation rates. Spans clamp to 90 days. Response `notes` states the one approximation: texts from a since-deleted drip still close windows but are credited to no step.

  • conduyt_sms_transports

    What a workflow Send SMS step can speak through TODAY (GET /api/v1/sms/transports): twilio {connected, numbers[] = the account number + every active rep's assigned line, each a valid send_sms config.fromNumber}, projectBlue {connected, lines[] = Project Blue iPhone lines held by active reps, each lineId a valid config.projectBlueLineId for smsMode project_blue}, whatsapp {connected, sender = the account's WhatsApp sender for smsMode whatsapp; templates come from conduyt_whatsapp_templates}, voiceDrop {connected = Twilio is connected, recordings {hasDefault, templates[] = names valid as config.…

  • conduyt_speed_to_lead_report

    Speed to lead: for every contact created in the window, the time to the FIRST HUMAN touch (a call placed by a person, a text or email a person sent through a connected provider, a note, or a completed task, inside the CRM): median and p90 seconds, leads reached within 5/15 min and 1/4/24 h, never reached, first-touch channel; overall, by assigned rep, by lead source and by who made the touch. Automation messages, campaign blasts and anything done outside the CRM are not touches (the response `definition` says so). Spans clamp to 90 days.

  • conduyt_sync_local_presence

    Sync the dialer's Local Presence number pool from the account's Twilio subaccount. IMPORTANT — sync only adopts numbers that meet ALL of: (1) the Twilio FriendlyName contains a standalone 'LP' (or 'LocalPres'), e.g. 'LP Miami 305'; (2) the number is voice-capable; (3) it is a US +1 E.164 number. The first 50 matches in sorted order become the pool; anything already in the pool that no longer matches is REMOVED. So buying a number is not enough — name it with the LP convention in Twilio first, then run this. Returns pool/added/removed/matched. Requires settings:edit.

  • conduyt_test_call_flow_function

    Send a real signed test call (callSid TEST, a sample caller) to a function endpoint and report the status, latency and the attributes it would save.

  • conduyt_unenroll_from_sequence

    Remove a contact from an email sequence. Pauses their enrollment.

  • conduyt_unpublish_call_flow

    Unpublish a call flow — its number stops executing the graph (falls back to default routing).

  • conduyt_update_agent_statuses

    Rename or hide the curated dialer statuses (settings.agentStatuses). labels: code → the label reps see (1–24 chars; omit a code or pass an empty string to restore the default); hidden: the codes removed from the softphone menu (available and offline are refused with a 422; a rep already on a hidden status keeps it until they change). Codes: available, break, lunch, meeting, training, offline. Fields you omit keep their stored value (the tool reads the current settings first); two visible statuses cannot share a label (422). Requires settings:edit.

  • conduyt_update_appointment

    Update an appointment — reschedule, reassign, change status, or add notes. Sends cancellation email if status set to 'cancelled'.

  • conduyt_update_automation

    Update an existing automation — change trigger, actions, schedule, or activation status.

  • conduyt_update_booking_page

    Update a booking page (PATCH /api/v1/booking-pages/{id}): only the fields given change. videoProvider 'zoom' turns on one Zoom meeting per booking (null turns it off and clears the host); videoHostEmail must be a user of the connected Zoom account (null = the app's own user). Requires calendar:edit (admin/owner).

  • conduyt_update_call_flow

    Update a call flow's DRAFT (name, number, graph). Published behavior does not change until the next publish. Replacing draftGraph REQUIRES expectedDraftRevision (the API 428s without it; a concurrent graph edit then 409s instead of being overwritten — the token is graph-specific, so live calls and publish never invalidate it).

  • conduyt_update_call_flow_function

    Rename a call-flow function endpoint, change its URL, or rotate its secret (admin).

  • conduyt_update_call_recording_settings

    Change the workspace's call recording policy (admin: settings scope). line: 'twilio' (default) or 'iphone'. Send only what changes; what is not sent stays as it is. inbound / outbound: record calls the team receives / makes. disclosureEnabled + disclosureOn ('inbound' | 'outbound' | 'both'): play a recording disclosure and on which calls (send both together). On the iPhone line the disclosure plays on outbound calls only: 'inbound' is refused and 'both' is saved as 'outbound'. consentGreeting: the sentence that is said (500 characters at most). enabled: the OLD name of the outbound switch, acc…

  • conduyt_update_company

    Update a company's details — name, domain, industry, address, or any other field.

  • conduyt_update_contact

    Update an existing contact's fields — name, email, phone, company, custom fields. customFields merge into existing values (omit a key to leave it unchanged).

  • conduyt_update_custom_field

    Update a custom field's label, options, or required status. Cannot change the field key or entity type.

  • conduyt_update_dashboard

    Rename, describe, share, replace the board filters, or reorder the tiles (tileOrder = every tile id once, in the new order). Only the fields you pass change.

  • conduyt_update_dashboard_tile

    Change a tile's style, size, title or target (null clears the target).

  • conduyt_update_deal

    Update a deal — move stage, change value/currency, set probability or expected close date, reassign, mark won/lost, or write structured custom-field values. customFields are merged into existing values (omit a key to leave it unchanged).

  • conduyt_update_deal_working_mode

    Set how this tenant works leads (Lifecycle v3). 'pipeline': every inbound contact gets a deal card in the intake pipeline — requires intakeDeals enabled with a pipelineId and stageId (conduyt_update_intake_deals first), and a new form/webhook/line cannot go live without a pipeline. 'status': the contact is the opportunity, no automatic cards (small shops). Switchable later; new tenants default to 'pipeline'.

  • conduyt_update_dialer_settings

    Change the account's Smart Dialing policy (admin: settings scope). Send only the fields to change: autoAdvanceEnabled, pauseSeconds (1-60), advanceOn ('disposition' | 'timer'), openLeadOnDial (true = the lead's record opens as each Smart Dialing call goes out), smartDialCallerId ('local_presence' | 'did'). Returns the policy as saved.

  • conduyt_update_disposition_status_map

    Set which lead status each call disposition sets when it is picked (by a rep after a call or by the AI auto-disposition): e.g. {"not-interested": "lost", "sale-closed": "won", "interested": "working"}. Keys are disposition values (built-ins like interested, not-interested, callback-requested, appointment-set, sale-closed, dnc-requested, voicemail, no-answer, wrong-number, or the account's custom outcomes); values are master statuses (open, won, lost, abandoned, disqualified, or the account's customs from conduyt_update_master_statuses). The map REPLACES the stored map (send the full map; {} cl…

  • conduyt_update_drip_campaign

    Update a drip campaign — change name, schedule, provider, or activation status.

  • conduyt_update_intake_deals

    Configure automatic deal creation on LIVE intake (inbound webhook contact upserts, public form submissions, public bookings). When enabled, each ELIGIBLE intake event mints a deal in the chosen pipeline/stage stamped with the trigger's own source. Exclusions that apply even under reInbound 'always': bulk imports never mint, staff/calendar/dialer-created appointments never mint, an exact replay of the same occurrence never mints twice, a same-source event for the same contact+pipeline within 10 minutes is treated as a delivery retry and skipped, and a contact whose masterStatus is terminal (won…

  • conduyt_update_invoice

    Update a draft invoice — change items, contact, due date, or terms. Cannot update paid or voided invoices.

  • conduyt_update_lead_pool_settings

    Change the admin-curated lead pool (Up for Grabs / Lead Pool). Pass only what changes; every other criterion keeps its stored value. Criteria are ANDed: enabled, tagIds (contact has ANY of these tags; [] = no tag rule), sources (lead source is ANY of these; [] = no source rule), minScore / maxScore (lead score floor / ceiling, 0..1000, null = none; the same value for both keeps one exact score, e.g. "lead quality 4"), createdWithinDays (only leads ADDED to the CRM in the past N days — creation time, a re-import of an existing contact is not new; 1..365, null = none), poolClaimDailyLimit (0..20…

  • conduyt_update_lost_propagation

    Turn LOST propagation on or off for this tenant (Lifecycle v3 P2). When on: a contact's masterStatus flips to 'lost' within a minute of its LAST open deal card closing lost (a per-minute resolver applies the rule on the committed state) (carrying that card's lostReason into masterStatusReason), a new open card on a lost/abandoned/disqualified contact reopens it, and a won contact never flips. Forward-only from the first enable (enabledAt is stamped server-side): existing history never flips by itself. A terminal masterStatus silences every drip, sequence and playbook for that contact, so read …

  • conduyt_update_master_statuses

    Set the account's custom lead lifecycle statuses. The five defaults (open, won, lost, abandoned, disqualified) always exist and cannot be removed; this REPLACES the custom list on top of them (max 20 names, 1-40 chars each, letters/numbers/spaces/-/_ only). Terminal statuses stop all outbound automation for a contact. Requires settings:edit.

  • conduyt_update_pipeline

    Update a pipeline's name, description, or default flag. To add/edit/remove stages, use the stage tools.

  • conduyt_update_pool_filter_set

    Rename, refilter, enable / disable or reorder a pool filter set (admin only). Pass only what changes. Switching a set on or changing its rules reconciles the open offers the page no longer shows; a change that OPENS the whole page needs acknowledgeOpensPool. pageVersion is the one your list read answered for the set's page (409 page_version_stale when the page moved since: re-list and retry).

  • conduyt_update_product

    Update a product's name, price, description, or other details.

  • conduyt_update_report

    Update a saved custom report: any create field, plus pivot (set a pivot grid, or null to remove it). Only the fields you pass change.

  • conduyt_update_report_schedule

    Change a schedule (only the fields you pass), including pausing (enabled: false) or resuming it.

  • conduyt_update_ring_group

    Update a ring group (name, number, members, strategy, ring time, active). Replacing memberIds REQUIRES expectedUpdatedAt (the API 428s without it); passing it on any update makes a concurrent edit 409 instead of being overwritten.

  • conduyt_update_saved_filter

    Rename a saved filter (a personal Smart View) or replace its filters/sort. Owner-only — a personal view is its owner's for every role. Use conduyt_list_saved_filters or conduyt_list_smart_views to find the id. Requires the 'saved-filters' scope.

  • conduyt_update_scoring_rule

    Update a scoring rule's name, points, condition, or active status.

  • conduyt_update_smart_list

    Update a smart list's name, description, type, or filters.

  • conduyt_update_smart_view_dialing

    Change one Smart View's Smart Dialing settings (admin key): make it a priority or not, the lifetime attempt cap, the per-day cap (null = no daily cap, counted in the account timezone), the cooldown between calls to the same lead, the shared pool and when a pool lead is assigned, and the retry schedule. Only the fields you pass change. Use conduyt_reorder_smart_views to change WHICH priority it is.

  • conduyt_update_stage

    Update a stage within a pipeline — rename, recolor, reorder (sortOrder), or change its won/lost/system flags.

  • conduyt_update_tag

    Rename a tag or change its color.

  • conduyt_update_task

    Update an existing task's fields. Only the fields you provide are changed; omit a field to leave it as-is. To mark a task done, prefer conduyt_complete_task. Requires tasks:edit.

  • conduyt_update_template

    Update a template's content, subject, or category.

  • conduyt_update_user

    Update a team member's profile, role, or permissions. Cannot modify your own role. To activate/deactivate a user, use conduyt_deactivate_user / conduyt_reactivate_user (status cannot be changed here).

  • conduyt_update_webhook

    Update a webhook — change URL, events, or enable/disable. Reactivating resets the failure count.

  • conduyt_upload_call_flow_audio

    Upload a greeting recording (mp3, wav or m4a, up to 10 MB) for use in a greeting node's audioUrl. Pass the file as base64. Returns { url } — put it on the greeting node via conduyt_update_call_flow.

  • conduyt_validate_call_flow

    Validate a call flow's draft graph WITHOUT publishing — returns structured problems (unreachable nodes, missing targets, etc.).

  • conduyt_verify_line_type

    Verify contacts' phone LINE TYPE (mobile/landline/VoIP) + carrier + validity via the tenant's own Twilio Lookup, stamping the results on each contact (Phone Verification custom fields). OPT-IN + TENANT-PAID (~$0.008/number on their Twilio): requires the account's lineTypeVerificationEnabled Twilio setting, configured Twilio credentials, and org-wide contact access (owner/admin/view_all). BATCHED + idempotent: each call verifies up to 50 not-yet-stamped contacts and returns { verified, remaining, done, byLineType } — CALL REPEATEDLY until done=true. Provide exactly ONE scope: smartListId or con…

  • conduyt_voice_drop

    Place a voice drop to a contact (POST /api/v1/calls/voice-drop): an outbound Twilio call with answering-machine detection that plays one of the account's Voicemail Drop recordings (Settings → Twilio → Voicemail Drop; names from conduyt_sms_transports voiceDrop.recordings) when a machine answers, and hangs up quietly when a person answers unless onHuman is play. Governed like a call: calls-tier consent (a texting STOP does not block it, a DNC or litigator row does), the account's calling hours, one live call per lead. Placed from your own Twilio line (else the account number) unless fromNumber …

  • conduyt_whatsapp_connect

    Connect the account's WhatsApp sender (PUT /api/v1/settings/whatsapp): pass the sender sid from conduyt_whatsapp_senders. Verified with Twilio before it is stored: it must be on this account and ONLINE (422 sender_not_found / sender_not_online), one sender belongs to one Conduyt account (409 sender_in_use), Twilio is required (422 twilio_required). Pass disconnect: true to forget the sender instead (DELETE): workflow steps on the WhatsApp channel stop sending. Requires settings:edit.

  • conduyt_whatsapp_senders

    The WhatsApp senders Twilio lists under this account's credentials (GET /api/v1/settings/whatsapp/senders): sid (XE…), phoneNumber, status (only ONLINE can be connected), displayName, connected (the stored one). 422 twilio_required without Twilio credentials. Requires settings:view.

  • conduyt_whatsapp_status

    WhatsApp connection for this account (GET /api/v1/settings/whatsapp): status connected | not_configured | twilio_required (a sender is stored but Twilio is disconnected), twilioConnected, and the sender {phoneNumber (plain E.164), sid}. WhatsApp rides the account's Twilio credentials; the workflow Send SMS step, conduyt_send_sms (transport whatsapp) and the contact composer can use it once connected. Requires settings:view.

  • conduyt_whatsapp_templates

    The account's WhatsApp templates (Twilio Content) with Meta's approval verdict (GET /api/v1/sms/whatsapp/templates): sid (a send_sms step's whatsappTemplateSid / conduyt_send_sms whatsappContentSid), friendlyName, language, body (the approved text with {{1}}, {{2}} placeholders), variables (the placeholder numbers to fill), approval (approved | pending | rejected | paused | disabled | unsubmitted | unknown), rejectionReason, category; plus `connected` (Twilio credentials AND a WhatsApp sender stored). Only an APPROVED template can be sent; outreach outside a contact's 24-hour window must use o…

  • conduyt_wire_call_flow_number

    Point the flow's number's Twilio voice webhook at Conduyt (the same step publish performs; use it when publish reported wiring.error, or after changing the number in Twilio). Admin. Returns the resulting wiring state.

  • conduyt_workflow_promote

    Safely publish a workflow. First validates the current graph — if there are errors, returns them and refuses to publish. If validation passes, publishes the draft to live. This is the recommended way to go live — it prevents broken workflows from reaching contacts.

  • conduyt_workflow_simulate

    Dry-run a saved automation against a real or stub contact. Returns a step-by-step trace of what WOULD happen — no messages sent, no tags applied, no side effects. Checks compliance (DNC, opt-outs), provider readiness (SMS/email configured), and condition evaluation. Use this to verify a workflow does what you expect before publishing.

  • conduyt_workflow_validate

    Validate a workflow graph WITHOUT saving it. Returns errors and warnings so you can fix issues before creating or publishing. Always call this before conduyt_workflow_promote.

  • conduyt_zoom_connect

    Connect or replace the account's Zoom Server-to-Server OAuth app (PUT /api/v1/settings/zoom): accountId, clientId, clientSecret from the Zoom App Marketplace app with scopes meeting:write/read/update/delete:meeting:admin + user:read:user:admin. Verified with Zoom before it is stored (a token must be issued and the app's own user readable: 422 credentials_rejected / scope_missing, 502 vendor_unavailable, nothing stored). Answers the app's user = the default meeting host. Pass disconnect: true to forget the app instead (DELETE): booking pages set to Zoom fall back to their written location. Requ…

  • conduyt_zoom_status

    Zoom connection for this account (GET /api/v1/settings/zoom): status connected | not_configured, the Zoom account id and client id masked (the client secret is never returned). Requires settings:view.

  • conduyt_zoom_test

    Prove the stored Zoom app still works (POST /api/v1/settings/zoom/test): a token is issued and the app's own user answers; pass hostEmail to also prove that user belongs to the Zoom account (the value a booking page's videoHostEmail must be). Read-only on Zoom, nothing is created. 200 with ok:false + code host_not_found | credentials_rejected | scope_missing | vendor_unavailable when it does not; 409 zoom_not_configured before connect. Requires settings:view.

Signals

Stars
0
Forks
0
Open issues
0
Last commit
Oct 1, 2026 (28 days ago)
Last release
Oct 25, 2026 (4 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
com.conduyt/mcp
Version
4.100.0
Auth
API key
Packages
npm conduyt-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 26, 2026
Cite this page

Conduyt CRM MCP server. Agent Mart. https://agentmart.dev/connectors/conduyt-com-mcp (last updated 2026-10-26)