Skip to content

Contact programs: enrich, enroll, merge

The Contact Verbs enrich, enroll, merge as MCP do programs, with inputs, result, refusals and an example.

Reference for Contact, one group of Contact programs.

Contact.enrich

Enrich fills a Contact’s missing fields from outside sources and marks each value with where it came from. Verb page.

Text
do: return await $.Contact.enrich(input)

Emits Contact.enriched.

Inputs

InputTypeRequiredDescription
contactContactrequiredThe Contact to enrich.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe enriched Contact.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Contact.enrich({ contact: 'contact_WsrosCQi6J' })"
  }
}

Contact.enroll

Enroll adds a Contact to a Sequence, which sends its steps until the Contact replies or exits. Verb page.

Text
do: return await $.Contact.enroll(input)

Emits Contact.enrolled.

Inputs

InputTypeRequiredDescription
contactContactrequiredThe Contact to enroll.
sequenceSequencerequiredThe Sequence to run.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe enrolled Contact.
enrollmentEnrollmentrequiredThe Enrollment that records this Contact’s run through the Sequence.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.
A suppressed Contact or one with no consent for the Sequence’s purposerefusedClear what the check names, then call it again.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Contact.enroll({ contact: 'contact_WsrosCQi6J', sequence: 'sequence_H7knHGrBdP' })"
  }
}

Contact.merge

Merge joins a duplicate Contact into another, keeping every link, Message and Event on the one that remains. Verb page.

Text
do: return await $.Contact.merge(input)

Emits Contact.merged.

Inputs

InputTypeRequiredDescription
contactContactrequiredThe duplicate.
intoContactrequiredThe Contact that remains.

Returns

OutputTypeRequiredDescription
contactContactrequiredThe remaining Contact.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

JSON
{
  "name": "do",
  "arguments": {
    "code": "return await $.Contact.merge({ contact: 'contact_WsrosCQi6J', into: 'contact_WsrosCQi6J' })"
  }
}