OmniVocal by Microcorp

Blog / Repo

OmniVocal + GitHub

OmniVocal commits Markdown files to any GitHub repository on every broadcast. Perfect for GitHub Pages sites, Astro/Hugo/Jekyll blogs, notes repos, or project wikis. Supports Markdown, YAML frontmatter, and raw file modes.

What you'll need

  • Personal Access Token (PAT) — needs repo → Contents: read & write permission.
  • Default repository — owner/repo — e.g. "acmecorp/blog".
  • Branch (optional) — defaults to "main".
  • Posts directory (optional) — defaults to "posts".

Setup guide

  1. 1

    Go to GitHub → Settings → Developer Settings → Personal access tokens → Fine-grained tokens.

  2. 2

    Create a token scoped to the target repo with Contents: Read and Write permission.

  3. 3

    In OmniVocal Dashboard → Channels → GitHub, paste the token and your default repo (owner/repo).

  4. 4

    Optionally set a branch and posts directory.

  5. 5

    Ask your AI to broadcast_post with target channel "github". A date-prefixed Markdown file is committed automatically.

Example broadcast call

Ask your AI assistant (Copilot, Claude, Cursor) to call broadcast_post — or call the REST API directly:

{
  "content": {
    "title": "Launching OmniVocal v2",
    "body": "## What's new\n\nToday we ship scheduling...",
    "tags": ["product", "launch"],
    "canonical_url": "https://yoursite.com/posts/v2"
  },
  "targets": [
    {
      "channel": "github",
      "override_content": {
        "github_format": "frontmatter",
        "frontmatter": { "section": "product" }
      }
    }
  ]
}

Tips & notes

  • Use github_format: "frontmatter" for SSG sites (Astro, Hugo, Jekyll, Eleventy).
  • Use "raw" if you want to control the entire file content via override_content.body.
  • Files are named YYYY-MM-DD-your-post-title.md by default.