Skip to main content
record_outreach_outcome Record an attributed outcome supplied by a human, agent or importer. No email is sent. Stable source events replay without duplication; bounces flag the original contact method, never abandon other opportunities. Supplied publication is not a verified win.
Name recorded in the 2026-10-27 deployment. This page describes current source; verify inputs and access in your connected catalog. Provider configuration and workspace access still apply.
This operation reads or updates saved campaign records with the contacts capability enabled. It starts no verification, schedule, message or sequence and consumes no checking credits.

Example request

Connect through MCP, CLI, or HTTP. Replace example identifiers with records from your workspace.

Returned result

Schema-validated example; IDs and dates are illustrative. MCP returns this data in structuredContent and in a text content block; generic HTTP and CLI return the JSON result directly.

Input fields

Omit optional fields when you do not want to supply them. Null is accepted only where listed. Unknown input properties are rejected.
  • projectId (string, required): project ID from create/list. minLength: 1; maxLength: 200
  • watchId (string, optional): watch ID from create/list. minLength: 1; maxLength: 200
  • contactId (string, optional): contact ID from create/list. minLength: 1; maxLength: 200
  • idempotencyKey (string, required): Caller-generated key reused only for retries of the same operation and arguments in this workspace. minLength: 1; maxLength: 200
  • source (object, required): additional fields rejected
  • outcome (string, required): values: "contacted", "replied", "publication_promised", "declined", "publication_claimed", "bounced", "send_error", "wrong_person", "do_not_contact", "email_health"
  • occurredAt (string, required): format: "date-time"; pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
  • contactRevision (string, optional): format: "uuid"; pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
  • associationRevision (number / string, optional).
  • method (string, required): default: "none"; values: "email", "contact_url", "none"
  • validity (string, optional): values: "valid", "role", "invalid", "catch-all", "unknown"
  • restrictionScope (string, optional): values: "method", "contact", "publisher"
Types, allowed values, limits and nested fields:

Validation and omitted values

Record an event supplied by a human, agent or importer, with its actual occurredAt and opaque source namespace, account, record and event identifiers. receivedAt is when AgentLinkOps received it. Message bodies, reply text and contact addresses are not accepted in this event. Use the same idempotencyKey and source event after an uncertain response. The same source event with unchanged content replays without another row even under a different delivery identifier. Changed content under either identity conflicts. At least one watchId or contactId is required. A contact fact requires its current contactRevision; a watch/contact fact also binds associationRevision. Email or contact-page facts bind the saved method. Changed contact-method bindings hold method facts without applying them to a replacement. Contact-wide and publisher-wide restrictions remain recorded at their actual scope. Inspect disposition and progressChanged. Older events, closed records and verified wins do not take a new supplied progress value. A publication claim remains unverified. Drafts, opens, clicks and queued sequences are not supported outcomes. Bounce, send-error, wrong-person and supplied email-health facts prompt contact attention without abandoning linked prospects. Email health retains valid, role, invalid, catch-all or unknown with its source and date; it does not verify a mailbox. Restrictions retain method, contact or publisher scope. Sender suppression enforcement remains external. This write sends no messages and starts no verification, monitoring or sequence. Contact deletion erases private method facts; watch-owned progress history and publisher restrictions retain source-event replay protection. Workspace erasure removes the owned journal.

Defaults when omitted

Output fields

Fields inside optional or nullable parents apply only when that parent exists. Common schema conventions explain evidence states, empty lists and extensions.
  • event (object, required).
  • replayed (boolean, required): True when the response reuses an earlier request with the same idempotency value.
  • progressChanged (boolean, required).
Types, allowed values, limits and nested fields:
Download input schema · Download output schema

Errors and retries

When retrying with idempotencyKey, reuse the original value and the same arguments; preserve originally omitted optional fields. Generic HTTP puts idempotencyKey in the JSON body, while resource routes use the header where listed below. A changed payload under a reused key can conflict. Operation-specific errors include UNAUTHORIZED, INSUFFICIENT_SCOPE, CAMPAIGN_RECORDS_NOT_READY, OUTCOME_ACCESS_DENIED, CAMPAIGN_SCOPE_CLOSED, INVALID_OUTCOME_INPUT, OUTCOME_DATE_IN_FUTURE, WATCH_NOT_FOUND, CONTACT_NOT_FOUND, CONTACT_METHOD_NOT_SAVED, OUTCOME_IDEMPOTENCY_CONFLICT, OUTCOME_REVISION_CONFLICT, CAMPAIGN_OUTCOME_CAPACITY. See error recovery for status, scope, cooldown, cursor and retry handling. Unknown observations are result data and do not establish loss.

HTTP resource routes

This operation has no separate resource alias. Use its generic command route in a matching environment.

Continue

list_outreach_outcomes · get_prospect · list_contacts Follow the related workflow. See capability status for availability or the command index for another operation.