mcpField
S
sent-templates

sent-templates

github.com/sentdmOther492.9k installsUpdated 1w ago
Repository

About sent-templates

sent-templates is a skill for finding, inspecting, and deleting existing template records in Sent. It resolves ambiguous matches and requires review and explicit confirmation before destructive changes.

Key features

  1. 01Filter and paginate template listings
  2. 02Retrieve templates by identifier or name
  3. 03Resolve ambiguous template matches
  4. 04Require confirmation before deletion
  5. 05Avoid repeating template body content

Use cases

  1. 01Find templates by available filters
  2. 02Inspect a known template record
  3. 03Resolve templates with matching names
  4. 04Delete a specifically verified template

MCP support

The skill uses MCP tools such as `templates.list`, `templates.get`, `templates.get_by_name`, and `templates.delete`. It uses client-managed OAuth authorization and checks the active organization and Sender Profile before deletion.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/sentdm/sent-plugin --skill sent-templates

After installing, type/sent-templatesin Claude Code to confirm it loaded.

Bundled filesagents/openai.yaml

Details

From the project README

Sent Templates

Operate existing template records with templates.list, templates.get, templates.get_by_name, and templates.delete.

Establish connection and scope

Use client-managed OAuth 2.1/PKCE and never request or expose credentials. Surface the active organization and Sender Profile before deletion; use sent-account-readiness if the connection context does not expose both.

Avoid repeating template body text or sample data unnecessarily. Prefer template identifiers, names, languages, channels, categories, and statuses in summaries.

An organization grant may select an owned Sender Profile with the tool schema's optional profileId; omit it to act as the authenticated account. Validate ownership with sender_profiles.list or sender_profiles.get, and use the same selector for preflight reads, mutations, and follow-up reads. Profile grants cannot use this selector. Reauthorize for a different organization or a profile outside the grant. Never invent scope fields or request credentials.

Find and inspect templates

  • Use templates.list for filtered discovery and pagination.
  • Use templates.get for an exact template identifier.
  • Use templates.get_by_name when the user supplies a name. If a name can match more than one language, channel, or scope, present the candidates and resolve one exact record before continuing.

These tools inspect existing records. For authoring or classification, hand off to waba-template-author; for a tenant-facing creation experience, hand off to template-builder-ui.

Delete a template

  1. Resolve the request to one exact template.
  2. Fetch that target first with templates.get or templates.get_by_name. Never delete from a guessed identifier, broad filter, or stale list result.
  3. Show a delete preview with the selected organization, Sender Profile, exact template identifier, name, language, channel, category, and status. State that deletion is destructive; do not repeat its body.
  4. Ask for explicit confirmation to delete this exact target. Earlier or general approval is not sufficient.
  5. Call templates.delete immediately after confirmation. A change to target, scope, or record invalidates confirmation.

Never call templates.delete without fetching the target and obtaining explicit confirmation immediately before the call. Treat every retry as a new mutation: refetch the target, show a fresh preview, and obtain new explicit confirmation.

If the result is ambiguous, re-read the target when possible. Report uncertainty and do not retry automatically.

Comments

Markdown supported