Skip to main content
Glama

Reset A Dead Sequence (recover failed/handed-off)

li_reset_contact
Destructive

Put a contact whose automation died back into the sequence. A failed/handed_off message on an accepted connection revives at the first unsent step (reply-check still guards follow-ups); a failed invite resets to not_sent and is queued again (caps and sending hours re-apply). Refuses invited/declined/withdrawn connections. Use after an outage killed sequences, or to undo a mistaken li_mark_stopped / li_mark_outcome — only once whatever blocked the send is fixed, or it fails again. Pass campaignId when the person is in more than one campaign. Writes our database only; the drip does the sending. Moving someone between campaigns is li_move_contact.

Input Schema

NameRequiredDescriptionDefault
contactIdNoThe contact id from li_contact_dossier or li_campaign_contacts
campaignIdNoWhich campaign membership to reset. Load-bearing here: this re-queues a REAL invite or send, from the account that row's campaign belongs to, so a contact in two campaigns must not be resolved by whichever was touched last.
profileUrlNoThe contact, by LinkedIn profile URL (or use contactId)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / contactId / description
      Added value: +"The contact id from li_contact_dossier or li_campaign_contacts"
    • addedInput schema / properties / profileUrl / description
      Added value: +"The contact, by LinkedIn profile URL (or use contactId)"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag destructive/open-world writes, but the description adds substantive behavior beyond them: refusal for invited/declined/withdrawn connections, per-state reset semantics (revive at first unsent step vs. reset to not_sent and re-queue), caps and sending hours re-applying, and the fact it only writes the database.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and scope, and every clause carries information (refusal cases, prerequisites, param hint, sibling pointer). Dense with parentheticals, but no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description covers preconditions, failure modes, refusal states, scoping, and side effects — everything an agent needs to invoke this destructive mutation safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real guidance the schema does not: pass campaignId when the contact is in multiple campaigns. That closes the ambiguity for the highest-risk parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with scope: reviving a dead automation for a contact. It explicitly separates itself from siblings by naming li_move_contact and li_mark_stopped, so an agent can pick it without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use triggers (after an outage killed sequences, to undo a mistaken li_mark_stopped/li_mark_outcome) plus a precondition (only once the blocking send issue is fixed) and a routing alternative (li_move_contact for campaign changes).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources