Public Function Marketplace

Find proven functions. Fork in one click.

Browse public TypeScript functions, official templates, automations, AI workflows, webhooks, and integrations. Star what you love, comment with improvements, and fork any function into your workspace.

Community Functions

Public functions ready to fork

A public TypeScript function.

Utilities
000
typescript
import fn, { secret } from "@hostfunc/sdk";
import { neon } from "@neondatabase/serverless";

// A tiny notes API backed by your own Neon Postgres. The Neon serverless
// driver queries over HTTPS, so it runs anywhere fetch does — no TCP needed.
// Secret: NEON_DATABASE_URL — copy the connection string from your Neon
// dashboard (Connection Details → Connection string).
// POST { "action": "create", "text": "hello" }   → insert a note
// POST { "action": "list" } (or GET)             → latest 50 notes
// POST { "action": "update", "id": 1, "text": "…" }
// POST { "action": "delete", "id": 1 }
export async function main(input: { action?: string; id?: number; text?: string }) {
  const sql = neon(await secret.getRequired("NEON_DATABASE_URL"));
  await sql`CREATE TABLE IF NOT EXISTS notes (
    id serial PRIMARY KEY,
    text text NOT NULL,
    created_at timestamptz NOT NULL DEFAULT now()
  )`;

  switch (input.action) {
    case "create": {
      const text = input.text?.trim();
      if (!text) return { ok: false, error: "Provide 'text'." };
      const [note] = await sql`INSERT INTO notes (text) VALUES (${text}) RETURNING *`;
      fn.log("info", "notes.created", { id: note?.id });
      return { ok: true, note };
    }
    case "update": {
      const text = input.text?.trim();
      if (!input.id || !text) return { ok: false, error: "Provide 'id' and 'text'." };
      const [note] = await sql`UPDATE notes SET text = ${text} WHERE id = ${input.id} RETURNING *`;
      return note ? { ok: true, note } : { ok: false, error: "No such note." };
    }
    case "delete": {
      if (!input.id) return { ok: false, error: "Provide 'id'." };
      const deleted = await sql`DELETE FROM notes WHERE id = ${input.id} RETURNING id`;
      return { ok: deleted.length > 0 };
    }
  
by Matt F's workspace / Matt F

A public TypeScript function.

Utilities
000
typescript
import fn from "@hostfunc/sdk";

// HTTP endpoint. POST { "name": "Ada" } — or GET ?name=Ada
export async function main(input: { name?: string }) {
  const name = input.name?.trim() || "world";
  fn.log("info", "hello.invoked", { name });

  return {
    message: `hello, ${name}`,
    invokedAt: new Date().toISOString(),
  };
}
by Matt F's workspace / Matt F
Featured Templates

Curated starting points

36 official, deploy-ready templates — AI workflows, webhooks, scheduled automations, and integrations — each built on the hostfunc SDK.

Open guided creator
👋utilities

Hello world

The minimal starter — typed input, structured logging, JSON out.

httpNo secrets
🤖ai

AI text summarizer

Condense long text into a few sentences with the built-in AI.

httpNo secrets
💬integrations

Slack notifier

Post formatted alerts to a Slack channel via an incoming webhook.

http1 secret
📥webhooks

Webhook inspector

Catch, log, and echo any inbound webhook to see exactly what it sends.

httpNo secrets
🖼️utilities

HTML page

Serve a styled web page — ships with an editable, live-previewable index.html.

httpNo secrets
⚛️utilities

React app

A React + TypeScript web app. client.tsx is precompiled at deploy into a minified, self-hosted bundle — no CDN.

httpNo secrets
📰data

Hacker News digest

Pull the current top 10 Hacker News stories on a schedule.

cronNo secrets
🦾ai

AI task agent

Run a goal-driven, multi-step AI agent and return its result.

httpNo secrets
📡notifications

Uptime monitor

Ping a URL on a schedule and alert Slack the moment it goes down.

cron1 secret
🐙integrations

GitHub profile lookup

Fetch a GitHub user's profile and their most recently updated repos.

httpNo secrets
🧠ai

AI sentiment classifier

Classify text as positive, neutral, or negative with a confidence score.

httpNo secrets
🌱webhooks

New signup enrichment

Enrich new-signup webhooks with company context and post them to Slack.

http1 secret
📈automation

Weekly growth report

Compile weekly growth metrics and post a summary to Slack every Monday.

cron1 secret
✈️integrations

Telegram bot

Handle Telegram messages and commands, replying through the Bot API.

http1 secret
🤝ai

AI Slack bot

Answer Slack questions with AI and post the reply back to the channel.

http1 secret
🔀webhooks

Webhook relay

Fan one inbound webhook out to multiple downstream destinations.

httpNo secrets
🔗utilities

URL unfurler

Extract the title, description, and OG image from any web page.

httpNo secrets
🔭notifications

Keyword monitor

Watch Hacker News for keyword mentions and alert Slack on new hits.

cron1 secret
✉️integrations

Transactional email

Send transactional email through Resend from a simple JSON request.

http1 secret
🔎ai

AI knowledge search

Index documents as embeddings, then run semantic search over them.

httpNo secrets
🧲integrations

Lead enrichment API

A REST endpoint that enriches a lead from its email domain.

http1 secret
📊webhooks

Analytics event forwarder

Receive product events and forward them into your analytics pipeline.

http1 secret
💱data

Currency converter

Convert between currencies using live exchange rates — no API key.

httpNo secrets
📻data

RSS aggregator

Merge several RSS/Atom feeds into one reverse-chronological digest.

cronNo secrets
🔧utilities

JSON transformer

Normalize and annotate an arbitrary JSON payload — a composable building block.

httpNo secrets
automation

GitHub stargazer leads

Turn a repo's newest GitHub stargazers into warm sales leads in Slack.

cron2 secrets
🗳️storage

Live poll

A live voting page with real-time results — state in the built-in kv store.

httpNo secrets
📖storage

Guestbook

A signable guestbook page — entries persist in the built-in kv store.

httpNo secrets
🔗storage

Link shortener

Create short links and 302-redirect visitors — with per-link click counts.

httpNo secrets
📈storage

Page-view counter

Drop-in view tracking for any site — one fetch() call per page load.

httpNo secrets
📬storage

Waitlist signup

A launch waitlist page — deduped email signups with a live counter.

httpNo secrets
💌storage

Feedback widget

Collect ratings and comments on a hosted page — optionally forwarded to Slack.

httpNo secrets
🐘data

Neon Postgres CRUD

A notes API on your own Neon Postgres — the serverless driver works over HTTP.

http1 secret
data

Supabase todos

Read and write a Supabase table with supabase-js — fetch-based and edge-safe.

http2 secrets
🧊data

Upstash Redis cache

Cache slow upstream calls in Upstash Redis over its REST API, with a TTL.

http2 secrets
🪶data

Turso (libSQL) events

Write and query a Turso database over its HTTP pipeline — zero dependencies.

http2 secrets

Build from proven foundations.

Public functions are open for discovery by default. Upgrade when you need private workspace-only functions for internal tools, customer workflows, or team secrets.