AGENT 07 / 07

Outreach

The operations worker turns verified context and memory into useful action: personalized drafts, approved updates, exports, scheduled runs, and notifications — without losing the operator in the loop.

outreachfathom worker

outreach · autonomous

01What it does

From verified context to ready drafts

01

One artifact, one context

Role-aware and grounded in what the workflow actually found — a report, update, notification, or message. No fill-in-the-blanks templates.

02

Batch generation

Pass a set of structured records: each artifact is built from enriched context, notes, provenance, and verification confidence.

03

Channel fit

Email subject + body, LinkedIn connection notes tuned to the channel’s limits, conversational Telegram openers for messaging-first markets.

04

Approval before side effects

save_contacts and git_push are approval-gated by default: y/n in the TUI, POST /sessions/:id/approve over the API — with timeout and headless fallback.

05

CRM push

amoCRM v4 · Bitrix24 REST · HubSpot CRM v3. Pushes run 4-at-a-time with one retry, and dedup by crm_id means re-runs never double-create.

06

Export & notify

Contacts as CSV · vCard · JSON · xlsx, reports as PDF · HTML · DOCX, completion fan-out via webhook · email · Telegram.

02How it works

Five steps to a reviewable result

1

Ground

Load verified records plus the memory digest: prior decisions, relevant entities, and current provenance.

2

Compose

Create the requested artifact from real context — records, recent findings, source URLs, and explicit constraints. Nothing invented.

3

Approve

Side-effect tools pause and wait. Nothing leaves the pipeline without an explicit yes from the operator.

4

Deliver

Persistence deduplicates and merges; configured integrations store remote ids for idempotent reruns; exports remain available for operator review.

5

Watch

An operator-triggered or configured schedule can rerun the workflow and diff results, sending notifications when tracked records change.

03Under the hood

A draft you can audit

Approval gate[agent] approval_tools defaults to save_contacts, git_push · timeout + headless fallback
Local dedupsave_contacts merges on normalized email/phone — atomic check-and-insert, never a duplicate
amoCRMPOST /api/v4/contacts on your account subdomain · bearer auth · PHONE/EMAIL field codes
Bitrix24/rest/crm.contact.add.json · auth query param · NAME, POST, EMAIL, PHONE, COMMENTS
HubSpotapi.hubapi.com/crm/v3/objects/contacts · private app token · firstname/lastname split
CRM dedupremote id stored as crm_id → already-synced contacts are skipped on every re-push
Push enginebounded concurrency ×4 · one retry after 1s on transient failure · errors reported, not fatal
Contact exportcsv · vcard · json · xlsx
Report exportpdf · html · json · docx — pandoc, with wkhtmltopdf fallback for PDF
Notifywebhook JSON (session.completed) · SMTP email · Telegram bot — fan-out, one failing channel never blocks the rest
Watch moderun --repeat N — runs are diffed; new emails/phones/persons alerted via webhook, Telegram or email

04Tools

The Outreach toolset

save_contactsmemory_digestmemory_searchmemory_graphverify_emailsuggest_emailsfile_writepython_exec

Delivers governed operations

From context to accountable action

This worker turns grounded context into useful action: a personalized draft, an approved record update, an export, or a scheduled notification. Memory keeps repeat runs current, approval gates keep operators in control, and every result can be inspected before it leaves the runtime.

Subject: Acme's Series B → platform hiring

Hi Jane — saw Acme closed the Series B and opened
6 platform roles. When we spoke in March you
mentioned infra tooling was the bottleneck —
we've since documented a repeatable workflow
for this kind of handoff. Worth a 15-min call?

────────────────────────────────────────────
approval:    granted (operator, TUI)
save_contacts: 1 saved · merged with existing
crm push:    hubspot id 515 (crm_id stored)
export:      outreach-batch.docx
notify:      telegram ✓  webhook ✓

Run a governed operation from start to finish