Add Zapier developer setup HTML and PDF
Some checks are pending
offline / test (push) Waiting to run
Some checks are pending
offline / test (push) Waiting to run
This commit is contained in:
parent
ce99845795
commit
ca693366dc
2 changed files with 235 additions and 0 deletions
235
docs/04-activate/SETUP-ZAPIER-DEVELOPER.html
Normal file
235
docs/04-activate/SETUP-ZAPIER-DEVELOPER.html
Normal 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://<your-host></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>
|
||||||
BIN
docs/04-activate/SETUP-ZAPIER-DEVELOPER.pdf
Normal file
BIN
docs/04-activate/SETUP-ZAPIER-DEVELOPER.pdf
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue