Add Zapier developer setup HTML and PDF
Some checks are pending
offline / test (push) Waiting to run

This commit is contained in:
George Lambert 2026-09-11 12:23:31 -04:00
parent ce99845795
commit ca693366dc
2 changed files with 235 additions and 0 deletions

View file

@ -0,0 +1,235 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Set up a Zapier Developer account and push Verae Time</title>
<style>
:root {
--ink: #12202c;
--muted: #4a5d6a;
--line: #d5dee4;
--bg: #f6f3ee;
--card: #fff;
--accent: #0f6e56;
--warn: #8a4b12;
--code: #1b2833;
}
* { box-sizing: border-box; }
body {
margin: 0;
font: 16px/1.5 "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
color: var(--ink);
background: var(--bg);
}
header {
background: var(--ink);
color: #f6f3ee;
padding: 2.2rem 1.5rem 1.8rem;
}
header .kicker {
letter-spacing: 0.12em;
text-transform: uppercase;
font: 700 11px/1 system-ui, sans-serif;
opacity: 0.75;
}
header h1 {
font-weight: 600;
font-size: 1.85rem;
line-height: 1.2;
margin: 0.4rem 0 0.6rem;
max-width: 40rem;
}
header p { margin: 0; max-width: 42rem; color: #d9e2e8; }
main {
max-width: 48rem;
margin: 0 auto;
padding: 1.5rem 1.25rem 3rem;
}
.note {
background: #e8f4ef;
border-left: 4px solid var(--accent);
padding: 0.9rem 1rem;
margin: 1.2rem 0;
}
h2 {
font-size: 1.25rem;
margin: 2rem 0 0.6rem;
padding-top: 0.4rem;
border-top: 1px solid var(--line);
}
h2:first-of-type { border-top: 0; }
ol, ul { padding-left: 1.25rem; }
li { margin: 0.3rem 0; }
a { color: #0b4f8a; }
code, pre {
font-family: "SF Mono", ui-monospace, Menlo, Consolas, monospace;
font-size: 0.86rem;
}
code { background: #ece7df; padding: 0.08em 0.28em; border-radius: 3px; }
pre {
background: var(--code);
color: #e8eef2;
padding: 0.9rem 1rem;
overflow-x: auto;
border-radius: 6px;
}
pre code { background: none; color: inherit; padding: 0; }
table {
width: 100%;
border-collapse: collapse;
font-size: 0.95rem;
background: var(--card);
}
th, td {
border: 1px solid var(--line);
padding: 0.45rem 0.6rem;
text-align: left;
vertical-align: top;
}
th { background: #ece7df; }
.warn { color: var(--warn); }
footer {
max-width: 48rem;
margin: 0 auto;
padding: 0 1.25rem 2.5rem;
color: var(--muted);
font-size: 0.9rem;
}
</style>
</head>
<body>
<header>
<div class="kicker">Verae Time · morning checklist</div>
<h1>Set up a Zapier Developer account and push Verae Time</h1>
<p>Create a developer account, push the private integration, and run Add Numbers (<code>2 + 3 = 5</code>). No Verae servers, no NATS, no public URL.</p>
</header>
<main>
<p class="note"><strong>App path:</strong> <code>packages/verae-activate</code> in <code>/Users/marchon/apps/zapier</code>. Use <strong>zapier-platform</strong> to publish. Do not mix this with <code>zapier-sdk</code>.</p>
<h2>0. What you will have when this works</h2>
<ol>
<li>A Zapier developer account (free).</li>
<li>A private integration named <strong>Verae Time</strong>.</li>
<li>A Zap: any trigger (e.g. Schedule) → <strong>Verae Time → Add Numbers</strong>.</li>
<li>A test that shows <code>2 + 3 = 5</code>.</li>
</ol>
<p>After that, grow the same integration into timestamping.</p>
<h2>1. Create the Zapier account (browser, ~5 minutes)</h2>
<ol>
<li>Open <a href="https://zapier.com/sign-up">https://zapier.com/sign-up</a> and create an account (Google/SSO is fine).</li>
<li>Confirm email if asked.</li>
<li>Open the Platform: <a href="https://developer.zapier.com">https://developer.zapier.com</a>. Same login. This is <strong>Zapier Platform</strong>, not the consumer app directory.</li>
<li>You should land on <strong>My Integrations</strong> (empty is fine).</li>
</ol>
<p>If you already have a Zapier account, skip sign-up and go straight to developer.zapier.com.</p>
<h2>2. Install the CLI on this Mac (Terminal)</h2>
<p>The CLI is already on this machine as <code>zapier-platform</code> (v19.1.0) in <code>~/.npm-global/bin</code>.</p>
<pre><code>export PATH="$HOME/.npm-global/bin:$PATH"
zapier-platform --version</code></pre>
<p>You want <strong>19.x</strong>. If the command is missing:</p>
<pre><code>npm install -g zapier-platform-cli
export PATH="$HOME/.npm-global/bin:$PATH"
zapier-platform --version</code></pre>
<p class="warn">Do not use the old <code>zapier</code> binary if it is a different major from <code>zapier-platform-core</code> in the app (<code>19.1.0</code>).</p>
<h2>3. Log the CLI into your account</h2>
<pre><code>zapier-platform login</code></pre>
<p>A browser window opens. Approve the deploy key. This writes <code>~/.zapierrc</code> (never commit that file).</p>
<p>SSO-only org:</p>
<pre><code>zapier-platform login --sso</code></pre>
<p>Check:</p>
<pre><code>zapier-platform whoami</code></pre>
<h2>4. Register and push Verae Time</h2>
<pre><code>cd /Users/marchon/apps/zapier/packages/verae-activate
npm install
npm test
zapier-platform validate
zapier-platform register "Verae Time"
zapier-platform push</code></pre>
<p><code>register</code> creates the integration and writes <code>.zapierapprc</code> (app id). <strong>Do commit <code>.zapierapprc</code></strong> after register. <strong>Do not commit</strong> <code>~/.zapierrc</code>.</p>
<p><code>push</code> uploads a <strong>private</strong> version, visible only to your account until you invite others.</p>
<p>If <code>register</code> says the name is taken, use <code>"Verae Time Dev"</code> or <code>"VeraeTime"</code>.</p>
<h2>5. Enable the integration in the Zap editor</h2>
<ol>
<li>Open <a href="https://zapier.com/app/zaps">https://zapier.com/app/zaps</a><strong>Create</strong>.</li>
<li><strong>Trigger:</strong> Schedule by Zapier → Every hour (or any trigger that can fire a test).</li>
<li><strong>Action:</strong> search <strong>Verae Time</strong>. If it does not appear:
<ul>
<li>In the Zap editor app search, open Change account / custom integrations.</li>
<li>Or visit <a href="https://developer.zapier.com">developer.zapier.com</a> → your app → Sharing.</li>
<li>Hard refresh. Private apps can take a minute after the first push.</li>
</ul>
</li>
<li><strong>Connect</strong> Verae Time:
<ul>
<li>API Key — leave <strong>blank</strong>.</li>
<li>API base URL — leave <strong>blank</strong>.</li>
<li>Test connection → should succeed (Verae Time / local mode).</li>
</ul>
</li>
<li>Choose action <strong>Add Numbers</strong>, <strong>Echo Text</strong>, <strong>SHA256 Hash Text</strong>, or <strong>Create Timestamp</strong> (local mock if API fields blank).</li>
<li>Set Number 1 = <code>2</code>, Number 2 = <code>3</code>.</li>
<li>Test step. You want:</li>
</ol>
<pre><code>{
"number1": 2,
"number2": 3,
"sum": 5,
"mode": "local"
}</code></pre>
<p>Turn the Zap on if you want it to keep running. Failures on Zapier are free; successes count as tasks.</p>
<h2>6. Optional: point Add Numbers at your hosted zappier API</h2>
<p>Only after <code>packages/zappier</code> is reachable on the public internet (ngrok, fly, etc.):</p>
<ol>
<li>Sign up in <code>packages/zappier</code> portal (<code>/portal</code>) → copy API key.</li>
<li>In the Zapier connection, set API Key to that key and API base URL to <code>https://&lt;your-host&gt;</code> (no trailing path).</li>
<li>Re-test. <code>mode</code> becomes <code>"hosted"</code> and <code>POST /v1/add</code> is metered (list price free).</li>
</ol>
<p>Until then, leave both fields empty.</p>
<h2>7. If something fails</h2>
<table>
<thead>
<tr><th>Symptom</th><th>Fix</th></tr>
</thead>
<tbody>
<tr><td><code>zapier-platform: command not found</code></td><td><code>export PATH="$HOME/.npm-global/bin:$PATH"</code></td></tr>
<tr><td><code>Not logged in</code></td><td><code>zapier-platform login</code></td></tr>
<tr><td><code>validate</code> schema error</td><td>Stay on <code>zapier-platform-core@19.1.0</code> matching CLI 19.x</td></tr>
<tr><td>App not in Zap editor</td><td>Confirm push on developer.zapier.com. Search “Verae”.</td></tr>
<tr><td>Connection test fails with blank keys</td><td>Old push; pull and push again. Local test does not HTTP.</td></tr>
<tr><td><code>ENOTFOUND</code> / timeout</td><td>You filled API base URL. Clear it for Add Numbers.</td></tr>
<tr><td>Invite a teammate</td><td>developer.zapier.com → app → Sharing → invite email</td></tr>
</tbody>
</table>
<h2>8. What this is not</h2>
<ul>
<li>This is <strong>not</strong> <code>zapier-sdk</code> and <strong>not</strong> Zapier MCP.</li>
<li>This does <strong>not</strong> yet timestamp on <code>api.veraetime.net</code>. That is <code>packages/verae-zapier</code> + middleware, after Add Numbers is green.</li>
<li>Do not put Verae JWTs in Zapier. Keys, when you use them, are zappier portal keys.</li>
</ul>
<h2>9. Commands cheat sheet</h2>
<pre><code>export PATH="$HOME/.npm-global/bin:$PATH"
cd /Users/marchon/apps/zapier/packages/verae-activate
npm test
zapier-platform whoami
zapier-platform validate
zapier-platform push # after the first register
zapier-platform versions
zapier-platform logs</code></pre>
<p>Official CLI docs: <a href="https://docs.zapier.com/platform/reference/cli-docs">https://docs.zapier.com/platform/reference/cli-docs</a></p>
</main>
<footer>
Source: SETUP-ZAPIER-DEVELOPER.md · generated 2026-09-11
</footer>
</body>
</html>