nc://sequenzy

v0.1.0Pinned
ThomSharklint: the rewrite cells published since 846d0b0 pass the structural lint (#109)0caf25c· 9 Nov2 commits
test1 filecell.lisp43.0 KB

nodecode-sequenzy

Sequenzy: email marketing for SaaS and ecommerce teams. A Nodecode rewrite of Sequenzy/skills by Sequenzy.

The agent works the operator's own Sequenzy account: it looks up and adds subscribers, reads the lists, tags and segments it can target, lists campaigns and their state, reads delivery and engagement numbers, and sends one transactional email. Every call goes to https://api.sequenzy.com with the operator's API key.

Get it

Tell the agent "add the sequenzy cell", or run nodecode add nc://sequenzy.

Set it up

Paste a key from the Sequenzy dashboard, Settings → API keys, into the cell's api_key, or put it in the environment variable SEQUENZY_API_KEY and leave api_key_env at its default:

{
  "sequenzy": {
    "api_key_env": "SEQUENZY_API_KEY",
    "max_rows": 25
  }
}

Two more members are optional: company_id pins one workspace when the key may reach several (it rides as x-company-id, as the vendor's own CLI sends it), and base_url points the cell at another address than the vendor's.

The key's own scopes decide what works: a key with only subscribers:read answers a campaign list with HTTP 403, and one without the send scopes cannot send. sequenzy_account names the scopes and whether live sends are allowed, so the agent can ask before it tries.

Use it

The model gets seven tools:

Tool What it does
sequenzy_account The companies the key may act in, the current one, its scope count and whether it may send live.
sequenzy_subscribers One subscriber by email (profile: tags, attributes, list names, notes), or a list filtered by status, tag, list, segment or free text.
sequenzy_add_subscriber Add or merge a contact, with a duplicate_strategy of skip, merge or overwrite.
sequenzy_campaigns Campaigns with their state and dashboard addresses, or one by id. Read-only.
sequenzy_stats Sent, delivered, opened, clicked, bounced, replies and opt-outs, with rates: the account's for 7d, 30d or 90d, or one campaign's.
sequenzy_audience Every list, tag and segment, with the ids and names the other tools take.
sequenzy_send One email: a saved template slug, or subject and HTML body. Answers an accepted send id, not a delivery.

The operator gets /sequenzy — no argument shows the account and the week's numbers, an argument searches subscribers — and five read-only verbs for eval: (sequenzy:account), (sequenzy:stats :period "30d"), (sequenzy:campaigns :status "draft"), (sequenzy:campaign "camp_123"), (sequenzy:subscriber "someone@example.com"), (sequenzy:audience), (sequenzy:subscribers :query "gmail.com").

Sending is real: mail goes to real recipients and counts against the plan. A send answers as soon as Sequenzy accepts it, so pass one idempotency_key per logical email and reuse it on every retry — a retry with the same key and the same request returns the original send instead of sending twice.

What is in it

File What it is
cell.lisp The section, the seven tools, the verbs and /sequenzy.
test/cell-test.lisp The lifecycle, each tool and verb against a stubbed wire.

License

MIT. The plugin it rewrites is Copyright (c) 2026 Sequenzy: see LICENSE and NOTICE.

Add nc://sequenzy

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at 0caf25c.

    $ nodecode add nc://sequenzy

    Or tell the agent add the sequenzy cell.