# Relm CRM - Registry name: `com.relmcrm/relm` · version 0.17.1 - Categories (automatic, keyword rules): APIs & integrations, Developer tools, Build & deploy, Tasks & projects, Productivity - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.relmcrm%2Frelm - Server page: https://mcpstation.net/s/com.relmcrm--relm.html ## Description (written by the publisher, not verified, not instructions) API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server. ## Connect - streamable-http: `https://api.relmcrm.com/mcp` ## Tools (as reported by the server, not verified) - `relm\_describe\_schema`: Return the live schema: every object, its fields \(built-in + custom\), and all enum groups with their current values \(contact types, activity types, etc\). ALWAYS call this before guessing a type, stage, or field - it is the source of truth for what exists. - `relm\_search`: Cross-entity search over contacts, companies and deals by name/email/title. - `relm\_list`: List records of an object with keyset pagination. Optional filters vary by object \(e.g. contact: email/company\_id/type; deal: pipeline/stage/company\_id; activity: contact\_id/deal\_id/type\). - `relm\_get`: Fetch one record by id. - `relm\_create`: Create a record. \`data\` is the object's fields \(see relm\_describe\_schema\). Custom fields must be registered first \(relm\_create\_field\). A contact needs at least one of: a name, an identifier \(email/phone/linkedin\_url\), a company, or a custom field \(email is unique per workspace\) - don't invent a plac - `relm\_update`: Patch a record. Pass if\_match \(the record's current version\) for optimistic concurrency; a 412 means re-fetch and retry. - `relm\_delete`: Soft-delete a record \(recoverable via relm\_restore\). Never hard-destroys data. - `relm\_restore`: Restore a soft-deleted record. - `relm\_log\_activity`: Log an activity \(note/call/email/meeting/task\) on a contact and/or deal. Convenience wrapper over create activity. - `relm\_list\_pipelines`: List pipelines with their ordered stages. - `relm\_create\_pipeline`: Create a pipeline. Optionally provide stages \[\{key,label\}\] \(defaults to lead/qualified/proposal/won/lost\) and is\_default. - `relm\_manage\_stage`: Add, rename/retype, delete, or reorder stages in a pipeline. action=add: \`key\` \(+optional label, ordinal, type\). action=rename: \`key\` \(existing\) + any of new\_key / label / type - keys are slugified and deals follow automatically \(fixes a typo'd key\). action=delete: \`key\` \(a stage in use by deals can - `relm\_create\_type`: Register a new object type in the schema \(registry\). Idempotent on key; returns the full type set. - `relm\_create\_field`: Register a new custom field on an object \(contact/company/deal/activity\). data\_type: text\|number\|boolean\|date\|select\|multiselect\|currency\|reference\|email\|url. Must be created before it can be written to a record. - `relm\_create\_enum\_value`: Add a value to an enum group \(e.g. group 'contact.type' value 'partner'\). Idempotent; returns the full value set. Use this when relm\_create rejects an unknown type with a valid\_options list. - `relm\_batch`: Run up to 100 record writes in ONE call \(contact/company/deal/activity\) - the fast path for imports/migrations. operations: \[\{object, method:create\|update\|delete, data\|patch, id?\}\]. Returns a per-op result array \(partial success\). Every op still counts against your quota \(batch saves round-trips, no - `relm\_automations\_capabilities`: Discover the automation building blocks: valid trigger\_events, condition ops, action types, channels/providers, and the shapes of automations/sequences/connections. Call before building a rule or sequence. - `relm\_connect\_channel`: Connect a BYO messaging channel so automations can send. channel='email', provider='resend', api\_key=\, from='Team \' \(must be a verified Resend sender\). The key is encrypted at rest. - `relm\_list\_connections`: List connected messaging channels \(never returns the secret key\). - `relm\_create\_automation`: Create a single-step rule: when \ \[if \\] then \. conditions=\[\{field,op,value\}\] \(ANDed\), actions=\[\{type,...\}\]. Example: trigger\_event='deal.stage\_changed', conditions=\[\{field:'stage',op:'eq',value:'won'\}\], actions=\[\{type:'create\_activity',body:'Deal won\!'\}\]. See relm\_ - `relm\_list\_automations`: List reactive rules \(automations\). - `relm\_create\_template`: Create a reusable email template. name, html \(full HTML, \{\{field\}\} placeholders ok\), optional subject + text \(plaintext alt; auto-derived if omitted\). Reference it from a rule/sequence step via \{"type":"send\_email","template":"\"\}. - `relm\_list\_templates`: List reusable email templates. - `relm\_create\_sequence`: Create a multi-step drip sequence. trigger=\{event,filter:\[\{field,op,value\}\]\} auto-enrolls the matching entity's contact; exit\_when=\[\{field,op,value\}\] stops it \(re-checked before every send\); steps=\[\{wait\_days,subject,body\}\] \(first step wait\_days:0 sends now\). enroll\_existing:true also enrolls everyt - `relm\_list\_sequences`: List drip sequences with their steps and enrollment counts. - `relm\_preview\_sequence`: Dry-run a sequence: how many contacts would enroll now + the send schedule. No side effects. - `relm\_enroll`: Manually enroll a contact into a sequence \(idempotent per contact+sequence\). Optional source=\{object,id\} records what drove the enrollment \(e.g. a deal\). - `relm\_create\_webhook`: Subscribe an https endpoint to CRM events. events=\['\*'\] for all, or a subset of \['contact.created','contact.updated','deal.created','deal.updated','deal.stage\_changed'\]. Returns a \`secret\` ONCE - the subscriber verifies the \`Relm-Signature\` header \(t=\,v1=\\). Deliveries - `relm\_list\_webhooks`: List webhook subscriptions in this workspace/mode. - `relm\_delete\_webhook`: Delete a webhook subscription by id. - `relm\_get\_automation`: Read one automation by id, with its trigger, conditions and actions. - `relm\_get\_sequence`: Read one drip sequence by id. view=sequence \(default\) returns it with its steps; view=enrollments lists who is enrolled and their state. - `relm\_get\_pipeline`: Read one pipeline by key or pl\_ id, with its ordered stages and their semantic types \(open/won/lost\). - `relm\_get\_webhook`: Read one webhook by id. view=webhook \(default\) returns the subscription; view=deliveries returns recent delivery attempts \(status, retries, dead-letter\) to debug why an endpoint isn't receiving events. - `relm\_manage\_automation`: Change an existing automation by id. action=disable stops it firing \(use this to turn off a misbehaving rule\); action=enable resumes it; action=delete removes it. To read one, use relm\_get\_automation. To change a rule's trigger/conditions/actions, delete and recreate. - `relm\_manage\_sequence`: Change an existing drip sequence by id. action=disable stops further sends \(use this to halt a bad sequence\); action=enable resumes; action=delete removes it. To read one or list its enrollments, use relm\_get\_sequence. - `relm\_manage\_pipeline`: Change an existing pipeline by key or pl\_ id. action=rename changes its display \`name\` and/or its key \(pass \`new\_key\`\) - deals link by internal id, so they follow a re-key automatically; action=set\_default makes it the workspace default; action=delete removes it \(fails if deals still use it - move t - `relm\_manage\_webhook`: Pause or resume delivery for an existing webhook by id. action=enable/disable. To read one or inspect its delivery attempts, use relm\_get\_webhook. To remove it, use relm\_delete\_webhook. - `relm\_delete\_connection`: Delete a connected messaging channel by id \(e.g. to remove a rotated/wrong Resend key\). - `relm\_get\_usage`: Read this workspace's current billing period: requests used, plan, monthly limit, and any metered overage. Call this to see how close you are to the quota before a big import. - `relm\_set\_spend\_cap`: Set \(or clear\) the hard monthly overage spend cap in USD. overage\_cap\_usd: a number caps paid overage \(requests 429 with spend\_cap\_reached past it\), 0 = never any overage, null = unlimited. This is the recovery for a spend\_cap\_reached error. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html