task icon Task

Create Instantly Campaign

5

Follow sliceCampaign Context Requirements to verify product context and writing style exist.
If either is missing, gather the context as described before proceeding.
Do not continue to email generation until both contexts are ready.

7

Now gather campaign details:

  1. Campaign goal: What do you want recipients to do? (book a call, reply, visit site)
  2. Target audience: Who are you reaching out to? (role, company size, industry)
  3. Sequence length: How many emails? (recommend 3-5 for cold outreach)
  4. Any specific angle or hook? (recent funding, job change, shared connection)

If they've provided some of this already, confirm and fill gaps.

8

Generate the email sequence using:

For each email in the sequence:

  1. Write 2-3 subject line options
  2. Write the email body (under 100 words)
  3. Specify timing (Email 1: immediate, others: delay in days)
9

Write a preview draft with _action frontmatter:


_action:
label: "Create campaign"
prompt: "Create this Instantly campaign using the sequence below"
isComplete: false

Campaign Name: [suggested name based on target audience]
Email Account: [ask user which connected account to use]

Email Sequence

Email 1 (Day 0)

Subject options:

  1. [option 1]
  2. [option 2]

[email body]

Email 2 (Day 3)

...

Sauna displays this as a preview card with a "Create campaign" button.
User can edit the sequence, then click to create.

11

Confirm the campaign was created:

"Your campaign '[name]' is ready in Instantly as a draft. Here's what's next:

  1. Add leads in Instantly (upload CSV or connect a lead source)
  2. Review and activate the campaign
  3. Monitor replies in the Instantly dashboard

Want me to help with anything else?"

                    You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple read steps in a row, read them all at once (in parallel).

Add all steps to your todo list now and begin executing.

## Steps

1. [Read External Actions Guide]: Read the documentation in: `./skills/sauna/[skill_id]/references/sauna.actions.external.md` (Preview UI pattern for external actions)

2. [Read Product Context Profile]: Read the file at `./documents/product/profile.yaml` and analyze its contents

3. [Read Writing Style]: Read the file at `./documents/user/writing_style.md` and analyze its contents

4. [Read Campaign Context Requirements]: Read the documentation in: `./skills/sauna/[skill_id]/references/outreach.instantly.context.md` (How to check and gather missing context)

5. Follow `./skills/sauna/[skill_id]/references/outreach.instantly.context.md` to verify product context and writing style exist.
If either is missing, gather the context as described before proceeding.
Do not continue to email generation until both contexts are ready.


6. [Read Instantly Email Writing Rules]: Read the documentation in: `./skills/sauna/[skill_id]/references/outreach.instantly.email.md` (Cold email writing rules and sequence structure)

7. Now gather campaign details:

1. **Campaign goal:** What do you want recipients to do? (book a call, reply, visit site)
2. **Target audience:** Who are you reaching out to? (role, company size, industry)
3. **Sequence length:** How many emails? (recommend 3-5 for cold outreach)
4. **Any specific angle or hook?** (recent funding, job change, shared connection)

If they've provided some of this already, confirm and fill gaps.


8. Generate the email sequence using:
- Product context from `./documents/product/profile.yaml` for value props and positioning
- Writing style from `./documents/user/writing_style.md` for tone and voice
- Email rules from `./skills/sauna/[skill_id]/references/outreach.instantly.email.md` for structure

For each email in the sequence:
1. Write 2-3 subject line options
2. Write the email body (under 100 words)
3. Specify timing (Email 1: immediate, others: delay in days)


9. Write a preview draft with _action frontmatter:

---
_action:
  label: "Create campaign"
  prompt: "Create this Instantly campaign using the sequence below"
  isComplete: false
---

**Campaign Name:** [suggested name based on target audience]
**Email Account:** [ask user which connected account to use]

## Email Sequence

### Email 1 (Day 0)
**Subject options:**
1. [option 1]
2. [option 2]

[email body]

### Email 2 (Day 3)
...

Sauna displays this as a preview card with a "Create campaign" button.
User can edit the sequence, then click to create.


10. [Gather Arguments: Create Instantly Campaign] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `campaignName`: Campaign name from user
- `emailAccountId`: Email account ID from user
- `sequencesJson`: JSON array of sequences: [{subject, body, delay_days}]

11. [Run Code: Create Instantly Campaign]: Call `run_script` with:

```json
{
  "file": {
    "path": https://sk.ills.app/code/outreach.instantly.create/preview,
    "args": [
      "campaignName",
      "emailAccountId",
      "sequencesJson"
    ]
  },
  "packages": null
}
```

12. Confirm the campaign was created:

"Your campaign '[name]' is ready in Instantly as a draft. Here's what's next:
 1. Add leads in Instantly (upload CSV or connect a lead source)
 2. Review and activate the campaign
 3. Monitor replies in the Instantly dashboard

 Want me to help with anything else?"