← OneprofileCONTENT HISTORY

Update to Oneprofile

Snapshot Nov 6, 2026 · 07:26 UTC · version 1.1.3

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Oneprofile and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Turn a Oneprofile table into an email and LinkedIn outreach sequence, show the messages it will send, clear its launch checks and launch it when the user says so. Use when the user asks to write a cold email campaign, set up outreach or follow-ups to a list, build, edit or tailor a sequence, change its steps, voice or goal, pick senders, preview messages, find out what blocks a launch, or launch, pause or resume a sequence.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 408
    }
  ],
  "name": "launch-a-sequence",
  "skill_md_contents": "---\nname: launch-a-sequence\ndescription: Turn a Oneprofile table into an email and LinkedIn outreach sequence, show the messages it will send, clear its launch checks and launch it when the user says so. Use when the user asks to write a cold email campaign, set up outreach or follow-ups to a list, build, edit or tailor a sequence, change its steps, voice or goal, pick senders, preview messages, find out what blocks a launch, or launch, pause or resume a sequence.\n---\n\n# Launch a sequence\n\nBuild a draft sequence from a table, let the user judge real messages, clear what blocks it, and launch only when the user says to. A draft sends nothing. A launch reaches real people and cannot be undone.\n\n## Reaching the tools\n\n`build_sequence`, `get_sequence` and `write_sequence_previews` are listed by name. Other sequence tools are listed by `list_sequence_tools`, the AI writer's tools by `list_outbound_agent_tools`, message tools by `list_message_tools` and sender tools by `list_sender_tools`. Reach them through one of three runner tools, passing `{\"name\": \"<tool>\", \"arguments\": {...}}`:\n\n- `run_read_tool` for a call that only reads\n- `run_change_tool` for a call that changes the workspace\n- `run_send_or_remove_tool` for a call that sends to people, removes something, changes where a payout goes or loosens what waits for a person's approval. Launching, resuming and test sends go through this runner.\n\nRead exact arguments with `describe_tool` (up to 8 names per call). When a runner refuses a call, it names the runner to use.\n\n## 1. Read the workspace\n\nCall `get_business_context` and `list_reference_documents` through `run_read_tool`. The sequence's writer uses them, and they answer most of what you would otherwise ask the user.\n\nFor a new sequence, or advice on cadence, openers or tone, call `search_playbooks` and then `read_playbook` on what fits (for example `oneprofile-outbound-agents`). Skip the playbooks when the user has fully specified the change they want, and make exactly that change.\n\n## 2. Check the audience\n\nRead the table with `get_table`. Email steps need an email column, and LinkedIn steps need a LinkedIn URL column. If many rows have no email, say how many, and offer to find them first (the `enrich-a-table` skill) or later with `find_missing_emails`.\n\nTo write to only part of a table, use a saved view (`list_table_views`) or specific rows.\n\n## 3. Build the draft\n\nCall `build_sequence` with:\n\n- `name`: unique in the workspace\n- `table_id`, and `view_id` when writing to only part of the table\n- `intent`, plus the goal and voice the user described\n- `senders`: leave it empty when the workspace has one sender, since it is assigned for you, or to choose later. List them with `list_senders`.\n- `steps`: leave it empty. The sequence is then built on a library campaign tailored to this audience. Give steps only when the user specified the cadence, because what you give replaces the cadence whole.\n\n`build_sequence` builds email steps only. To add LinkedIn steps or condition branches, or to replace the emails with LinkedIn steps, use `edit_sequence_steps` after it.\n\nBuilding is free and sends nothing. Its answer says roughly what sending will cost.\n\n## 4. Show real messages\n\nIn the same reply, call `write_sequence_previews` for a few contacts. It is free but has a daily cap. Show two or three previews as written, with each one's subject and body, so the user judges the actual writing and not a description of it.\n\nChange what the user asks for:\n\n- **Voice, goal or call to action**: `update_outbound_agent`. Priced, so say the price.\n- **One step's instructions**: `edit_message_prompts`. Also priced.\n- **One contact's message**: `pin_message_for_contact` with the new body\n- **The steps themselves**: read them first with `get_sequence` or `read_sequence_steps`, then call `edit_sequence_steps` with the full list. Mark every step you keep with `keeps_step`, because a step left out is deleted.\n- **A spam check on the copy**: `check_message_for_spam`\n\nWhen the user wants to see a message in a real inbox, `send_test_email` sends one step, rendered for one contact, through `run_send_or_remove_tool`. With `to_address` empty it goes to the signed-in user. It costs no credits and enrols nobody.\n\n## 5. Clear the launch checks\n\n`get_sequence` with the sequence lists what blocks launch, such as no sender, no audience, a missing subject, or no business context. For each blocker:\n\n- fix it with the matching tool when the user's request covers it, or\n- tell the user exactly what to do, with the link the tool returned when one is needed in the app. Connecting a mailbox or a LinkedIn account happens in Oneprofile.\n\n`find_missing_emails` and `verify_sequence_emails` are optional and priced. Offer them with their price, and run them only on a yes.\n\n## 6. Launch only on an explicit instruction\n\nLaunch only when the user has asked for it in so many words, such as \"launch it\" or \"start sending\". Approving the draft, liking the previews or saying \"looks good\" is not a launch instruction. Ask.\n\nRight before launching, say in a few lines:\n\n- who it reaches: the number of contacts, and how many are left out and why\n- who it sends as\n- the steps and their timing\n- when the first messages go out\n- what it costs\n\nThen call `launch_sequence` through `run_send_or_remove_tool`. Pass on the price line and the link from its answer.\n\n- **Pause**: `pause_sequence`, through `run_change_tool`. No confirmation needed when the user asks.\n- **Resume**: `resume_sequence`, through `run_send_or_remove_tool`. It sends again, so confirm first.\n\n### Example\n\n> **Ready to launch \"UK fintech RevOps\"**\n> - Reaches 284 contacts. 16 are left out: 11 have no email, 5 are on your do-not-contact list\n> - Sends as Maya Chen (2 mailboxes)\n> - 3 emails: day 0, day 3, day 7, each written per contact\n> - First emails go out today from 9:00, in each sender's own timezone\n> - Up to [N] credits, from the launch check\n>\n> Say \"launch\" and I'll start it.\n\n## Next steps\n\n- Replies as they come in: the `triage-replies` skill\n- How it is performing: the `outreach-review` skill\n"
}

SHA-256 of public snapshot: e8c5ab27e4a50a4f9fd78915d8f567199148c9684e7089b59180726ea5ed70d5