Skip to content

Outside services and connectors

By default, a job’s result stays in Paperclip, on its task. A job can also reach services outside its repo: send its result to a chat or an inbox, read messages, call an API.

Ask for it in plain words: “and send the digest to our Telegram group”. Claude then follows a set order, so you get the most reliable option and know why.

Claude first runs the jobs script’s connectors command for the service:

node ~/.claude/skills/scheduled-jobs/jobs.mjs connectors telegram

It lists, with links:

  • Paperclip’s apps for that service, from its built-in catalog (about 70 apps);
  • the connections already set up on your server;
  • the plugins installed in Paperclip (none by default);
  • what others published: Paperclip plugins on npm, and MCP servers in the official MCP registry.

Claude tells you what it found.

What Paperclip has What it does for a job
An app with tools for agents (Slack, Resend, Gmail, Notion, Linear, Zapier, Make and others) You connect it in Paperclip and allow the job’s agent to use it. Paperclip keeps the credential, gives the allowed tools to each run, and asks a person before risky actions. The job’s skill names the tools to use.
Slack and email skills Paperclip’s slack and agentmail skills come with those apps, once a Slack bot or an AgentMail inbox is assigned to the agent. A job’s skill can then post to a channel or send an email.
A channel app (Telegram, Discord, Teams, Slack’s bot, AgentMail) People message one Paperclip agent there, and it answers there. Good for two-way use, but it doesn’t post a job’s output on its own.
An installed plugin with tools for the service The job’s skill calls its tool.

What others published is a lead, not a recommendation

Section titled “What others published is a lead, not a recommendation”

Before suggesting a plugin or an MCP server someone else published, Claude checks it, and tells you what it checked:

  • Fit: does it do what this job needs?
  • Your Paperclip version: when it was last released, and its open issues about recent Paperclip versions.
  • Upkeep: recent releases, answered issues, a license that allows use.
  • What it can reach: a plugin runs inside Paperclip with Paperclip’s own access; a hosted MCP server receives everything the job sends it.

For example, a community Telegram plugin checked in November 2026 could announce that a task was done, but had no tool for a job to send its own text, and its latest release failed on recent Paperclip versions. It could announce a digest, not deliver one.

Installing someone else’s code is your call.

Claude gives you both options, and which it recommends.

The job’s skill calls the service’s API directly, with curl, and its key and settings as secrets on the Runner. Quick, and fine for a one-off job. Its limits:

  • each job that needs the service repeats the call;
  • every repo’s jobs run as the same Runner, so its secrets are readable by every job on the server;
  • nothing comes back from the service.

Claude recommends a connector, without waiting to be asked, when any of these holds:

  • the service will likely serve several jobs or repos;
  • it needs settings per project, such as a chat or a channel per repo;
  • its credential should stay out of the jobs;
  • two-way use would help: replies, or commands back to a job.

Claude builds it only once you agree. Until then, the inline call can deliver, as a stopgap.

Example: a daily digest sent to Telegram. Paperclip’s Telegram app is a channel only. So Claude offers the Telegram Bot API in the skill now, with the bot token and chat ID as secrets. If other jobs or repos will post to Telegram, each repo has its own chat, or you want to answer the bot, it proposes a connector.

Kind When Who sets it up
A Paperclip plugin The most native kind. It can give jobs tools, act on Paperclip’s events (post a job’s summary when its task is done, with no agent turn), receive webhooks, and keep its own settings and secrets per project. Claude writes it in a repo of yours, from Paperclip’s plugin scaffold, and publishes it as an npm package with your npm login. You install it on Paperclip’s plugins page, review what it asks to do, and enter its settings.
An MCP server, connected in Paperclip’s apps The service already has an MCP server, from its vendor or a maintained project, and jobs only need to call it. You connect it in Paperclip (“Connect your own MCP server”, or paste a config). Paperclip asks for the keys, lists the server’s actions for review, and you allow it for the job’s agent. Claude gives you the steps.
An MCP server you host No server exists, and a plugin doesn’t fit. Claude writes it; you host it with its own HTTPS address, for example as another Railway service, and connect it as above.

Keep a connector in git like the rest: its code in a repo, and in each job’s skill a line naming the connector and the settings it needs.

Apps, connections and plugins are Paperclip’s own records, in its database and on its volume. The template never touches them. Plugins are installed into Paperclip’s data folder, so they survive restarts and template updates.

At each start, the template rewrites only the Runner’s (and Codex’s) instructions, its working folder, and its Claude and GitHub secret bindings. Other bindings are kept.

Paperclip offers these, but they haven’t been tried on a deploy of this template yet: installing a plugin, a job calling a plugin’s tool, an app allowed for the Runner reaching a run, and Paperclip’s Telegram channel on Railway. Test the first job that uses one with run, then log.

Paperclip (w/ CloudCLI) is a Railway template by AvgSoft. Paperclip, CloudCLI, Claude Code, Codex and Railway belong to their makers. Template codeDeploy on Railway