← TessryxCONTENT HISTORY

Update to Tessryx

Snapshot Nov 13, 2026 · 06:08 UTC · version 1.2.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Tessryx 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": "Build a Slack bot, Slack slash command, Discord slash command bot or a webhook receiver for Stripe, GitHub, GitLab or Shopify on Tessryx, hosted as a route with no server to run. Use when the user asks for a Slack bot, Discord bot, slash command, buttons in Slack or Discord, or to react to a webhook.",
  "included_files": [],
  "name": "slack-discord-bots",
  "skill_md_contents": "---\nname: slack-discord-bots\ndescription: Build a Slack bot, Slack slash command, Discord slash command bot or a webhook receiver for Stripe, GitHub, GitLab or Shopify on Tessryx, hosted as a route with no server to run. Use when the user asks for a Slack bot, Discord bot, slash command, buttons in Slack or Discord, or to react to a webhook.\n---\n\n# Slack and Discord bots, and webhooks\n\nOn Tessryx a bot is a POST route whose endpoint has `verify: { provider, secret }`. Tessryx checks the sender's signature before the workflow runs, answers Slack's URL check and Discord's PING by itself, and the workflow decides the reply. Follow `build-small-first` for the build order; this skill adds the bot-specific parts.\n\nThe user's explicit instructions always take priority over this skill.\n\n## Read first (only these)\n\n- `whoami`.\n- The `endpoints` guide, sections \"Methods\", \"Webhooks from another service (`verify`)\" and \"Answer now, finish in the background\".\n- The `api-templates` guide if the bot calls back into Slack or Discord (posting a message, for example).\n\n## First version (one sitting)\n\n1. Ask the user to create the bot in Slack or Discord and store the signing secret at https://tessryx.io/dashboard/secrets (Slack: Signing Secret; Discord: Public Key). Tell them the secret's name to use. You never see its value.\n2. A **workflow** that reads the command (Slack: `body.command` and `body.text`; Discord: the interaction in the body) and returns the reply. Discord's reply is the JSON output, `{\"type\":4,\"data\":{\"content\":\"…\"}}`.\n3. A **POST endpoint** with `methods: [\"POST\"]` and `verify: { \"provider\": \"slack\" | \"discord\", \"secret\": \"<slug>\" }`. Publish, and give the user the URL to paste into Slack's Request URL or Discord's Interactions Endpoint URL.\n4. Test with one command.\n\n## Rules that matter\n\n- Slack and Discord want an answer within 3 seconds. Reply at once and do slow work (an `llm` call, an outside API) in a background link with `continue_with`.\n- Skip an event already handled, by its id (Slack retries carry `x-slack-retry-num`).\n- A Discord bot here answers slash commands and buttons. It doesn't stay online reading every message.\n\n## After it's live (offer, don't build unprompted)\n\n- Posts on a schedule (`schedules` guide), records the team can edit, an AI reply with the `llm` block on the user's own model key (`agents` guide).\n"
}

SHA-256 of public snapshot: 7c4c1785a8c8d6c94e46708f0e09c65f62700b98e02b402b57f9856605ada70e