sent-contacts
sentdm/sent-plugin
Manage Sent contacts: search, create, delete, and review messaging summaries with confirmation gates.
What is sent-contacts?
Operate on Sent contacts using the Sent MCP tools to list, find, inspect, bulk-create, summarize, or delete contact records. Use this skill when you need to search contacts, import or deduplicate lists, review messaging history, or manage direct contact records—all with built-in confirmation gates for mutations.
- Search and list contacts with narrowest-available filters
- Fetch exact contact details by identifier
- Bulk-create deduplicated contact records with preview and confirmation
- Delete individual contacts with fetch-and-confirm workflow
- Retrieve and review contact messaging summaries
How to install sent-contacts
npx skills add https://github.com/sentdm/sent-plugin --skill sent-contacts- Active Sent account with OAuth 2.1/PKCE authorization
- Access to a Sender Profile and organization scope via sent-account-readiness if needed
How to use sent-contacts
- 1.Authorize the skill via client-managed OAuth 2.1/PKCE without exposing tokens or API keys
- 2.Confirm your active organization and Sender Profile before any mutation
- 3.For bulk creates: provide contact records, review the deduplication and payload preview, then give explicit confirmation
- 4.For deletes: specify the contact, fetch it with contacts.get, review the delete preview, then confirm
- 5.Execute the operation and verify results by count and stable identifiers, not full record dumps
Use cases
- Import and deduplicate a CSV contact list into Sent
- Search for a specific contact by name or identifier and review their messaging history
- Remove a contact from your Sent contact book after explicit confirmation
- Bulk-add contacts to a Sender Profile with deduplication and validation
- Review a contact's messaging summary to understand communication context
- Sent users managing contact databases
- Teams importing or cleaning up contact lists
- Users automating contact lifecycle tasks with confirmation gates
sent-contacts FAQ
Yes. The skill requires a preview and explicit confirmation immediately before calling contacts.create_many or contacts.delete. Earlier or general approval is not sufficient.
If you change the records, scope, or target after confirmation, the confirmation is invalidated. The skill will fetch the target again and require a fresh preview and new explicit confirmation.
No. The skill deletes one contact at a time. Each delete requires fetching the exact target, showing a preview, and obtaining explicit confirmation.
Phone numbers are masked where practical to protect privacy, but revealed in full only when exact verification requires it—for example, during final confirmation of a bulk create.
Use the sent-account-readiness skill to inspect your authorized scope and confirm the active organization and Sender Profile before proceeding with any mutation.
Full instructions (SKILL.md)
Source of truth, from sentdm/sent-plugin.
name: sent-contacts description: Lists, finds, inspects, bulk-creates, summarizes, or deletes Sent contacts with the Sent MCP tools. Use when a user asks to search contacts, get a contact by ID, import or deduplicate a contact list, review a contact's messaging summary, remove a contact, or manage direct contact records. Requires confirmation gates for creates and deletes.
Sent Contacts
Operate contacts with contacts.list, contacts.get, contacts.create_many, contacts.delete, and contacts.message_summary.
Establish connection and scope
Use client-managed OAuth 2.1/PKCE. Never request or expose a token, API key, authorization header, client ID, or secret. Before a mutation, surface the active organization and Sender Profile from the connection context; if either is unavailable, use sent-account-readiness to inspect the authorized scope. Reauthorize in the client to change scope.
Mask phone numbers where practical. Return only the contact fields needed for the task, and do not repeat contact data after it has been reviewed. Number presence or messaging history does not establish consent.
Read contacts
- Use
contacts.listto search or page through contacts. Apply the narrowest available filter and do not dump an entire contact book unnecessarily. - Use
contacts.getwhen an exact contact identifier is known or before a delete. - Use
contacts.message_summaryfor the contact's messaging summary. Distinguish summary data from proof of consent or current reachability.
Read-only calls do not require mutation confirmation.
Create contacts in bulk
- Validate and deduplicate the proposed records locally. Preserve only fields the user actually supplied.
- Build the exact
contacts.create_manyarguments without calling the tool. - Show a payload preview with the selected organization, Sender Profile, record count, duplicate handling, and each exact target. Mask phone numbers where the operator can still verify them; reveal full values once only when exact verification requires it.
- Ask for explicit confirmation for this exact batch. Earlier or general approval is not sufficient.
- Call
contacts.create_manyimmediately after confirmation. Any change to the records or scope invalidates confirmation.
Never call contacts.create_many without a preview and explicit confirmation immediately before the call. Treat every retry as a new mutation with a fresh preview and new explicit confirmation.
Delete a contact
- Resolve the requested contact to one unambiguous identifier.
- Fetch the exact target first with
contacts.get. Never delete from a guessed identifier, broad filter, or stale list result. - Show a delete preview containing the selected organization, Sender Profile, exact contact identifier, display label, and masked address. State that deletion is destructive.
- Ask for explicit confirmation to delete that exact target.
- Call
contacts.deleteimmediately after confirmation. If the target, scope, or record changes, fetch it again and repeat the preview.
Never call contacts.delete without fetching the target and obtaining explicit confirmation immediately before the call. Every retry requires another fetch, a fresh preview, and new explicit confirmation.
Report results
Report counts and stable identifiers, not full contact records. If a create or delete outcome is ambiguous, do not assume success and do not retry automatically. Re-read the exact target when possible, explain the uncertainty, and require a new confirmation before any further mutation.
Related skills
More from sentdm/sent-plugin and the wider catalog.

sent-integration-starter
Production-ready Sent v3 integration: SDK setup, idempotent sends, verified webhooks, and hardening.

sent-messaging
Send and track SMS, WhatsApp, and RCS messages through Sent with delivery status and activity history.

sent-profile-provisioning
Execute Sent Sender Profile lifecycle: create, complete, and manage profiles with inheritance, billing, WhatsApp, and user roles.

sent-routing-strategist
Understand Sent message routing: automatic vs. pinned channels, fallback behavior, and status interpretation.

sent-templates
Browse, find, inspect, and delete Sent templates via MCP tools.

sent-two-way-messaging
Design inbound and conversational Sent flows with consent, keywords, and channel-specific handling.