https://reply.io logo
#feedback
Pulled the full 30-gotcha ledger. Here’s the honest answer: I’m already…
# feedback
h

Hessan Haiderzada

08/19/2026, 3:58 PM
Pulled the full 30-gotcha ledger. Here’s the honest answer: I’m already operational in Reply.io, but “world class” is blocked by a specific, recurring structural problem, and almost every high-impact gotcha traces back to it. The one thing that would change everything: verification & preview Every launch today requires a full per-contact byte-equal readback, and even that can’t confirm the email is correct. Writes fail silently in five distinct ways — rows vanish from the import response (#22), rows come back skipped with no field writes (#27), name/underscore mismatches drop fields (#18), platform-suppressed addresses skip silently (#25), and any PATCH full-replaces and wipes the other 9 fields (#14/#28/#30). So I readback everything. Then — because there is no API that returns the merge-resolved, HTML-rendered email — an operator still has to eyeball one rendered message in the UI to catch {{Herr_Frau}} non-resolution, empty-body halts (#15), and text-wall rendering (#23). That manual UI eyeball is the single biggest thing standing between “built” and “world-class autonomous.” What closes it: a real render/preview endpoint — fully merge-resolved subject + HTML body, per step, per contact, exactly as it would send. Actionable now: the Aug 11 changelog we just reviewed shipped GET /v3/sequences/{sequence_id}/contacts/{contact_id}/preview — and the path is not scoped under /ai-sdr/. That might already be the general preview endpoint I’ve been asking for. This is worth a live test immediately; if it renders regular (non-AI-SDR) sequences, it eliminates the #1 manual bottleneck and I’d rewrite the pre-launch checklist around it. Want me to test it against a throwaway sequence + contact? The full prioritized ask list (each tied to the manual work / risk it removes) Tier 1 — trust the write, see the render 1. Render/preview endpoint (above) — kills the UI eyeball rule and half the readback ritual. 2. Merge-not-replace field writes — a PATCH that touches only the fields sent, or PUT …/contacts/{id}/custom-fields/{fieldId}. Deletes the most destructive class outright (#14/#28/#30) — right now a one-field title edit wipes all custom fields. 3. Honest import semantics — per-row status that distinguishes written vs skipped-no-write vs suppressed, each with a reason; never drop rows from the response (#22/#25/#27). Today skipped/updated are ambiguous and the tally lies. Tier 2 — enrollment truth 4. GET /v3/sequences/{id}/contacts/count + reliably-paginated membership that doesn’t randomly drop members (#17/#29, and the large-page drop in the Atlas note). This retires the v1-enroll-fallback + double-sweep + MCP-tiebreaker dance I do on every push over 100 contacts. (This count endpoint was “coming late July” → now slipped to late August per the changelog — it’s the one operational item I’m genuinely waiting on.) 5. A first-class v3 enroll that overrides “in another sequence” and returns explicit Added/NotProcessed — i.e. promote the MCP add_contact_to_sequence behavior into REST so I stop reaching for the legacy v1 x-api-key addandpushtocampaign (#16/#29). Tier 3 — the structural one 6. Per-enrollment field snapshotting. Custom fields are contact-global and resolved at send time, so a prospect in two sequences can’t hold two different bodies (#20). Reply’s confirmed snapshot-at-enrollment is a feature request, not shipped. Getting it would delete an entire subsystem I maintain — the namespaced-slot assignment machinery (V6_SLOT_ASSIGNMENT_SPEC). Tier 4 — MCP build parity + reporting 7. MCP tools to create/edit sequences, steps, and upload attachments (+ webhooks CRUD). Today building is REST-only (#10); the MCP tools are self-documenting and trap-proof, so moving the build path onto MCP would cut the error surface on the riskiest part of the job. 8. Meeting lifecycle write-back (held/no_show/rescheduled) + a bulk-by-email status setter (#13) — needed for fully automated reporting. 9. Consistent cursor pagination on every list endpoint — email-accounts is skip-only and hid a client’s real senders past page 1 (#21); schedules has no pagination and dumped 392 records → context overflow. One cursor style everywhere. Tier 5 — cleanups 10. Fix (or formally deprecate) emailTemplateId on v3 steps and template PATCH/DELETE (#1/#3b) — dead paths I route around. 11. whoami/team-users returns 403 on this legacy account — workspace/team access would unlock clean multi-client owner→name resolution for reports. Meta-tax worth naming Most of v3 is still Beta — “shapes may change without notice” (#9), which is why I re-verify request shapes after every changelog. A stable versioned contract (or a changelog webhook) would remove standing overhead — but that’s a maturity ask, not a feature. Bottom line: I don’t need new endpoints to function — the skill already encodes reliable workarounds for all 30 traps. What separates functional from world-class is (1) a render-preview endpoint and (2) writes/imports I can trust without a full readback.
y

Yana

08/19/2026, 4:13 PM
Hello Hessan! Thanks for taking the time to share your feedback and suggestions. ​ I’ll pass your request along to our Product team so they can take it into consideration. I’ll let you know as soon as I hear back from the team. ​ Wishing you a wonderful day!
h

Hessan Haiderzada

08/20/2026, 9:44 AM
Many thanks Yana