Deep-Two · no vanity grid
Integration Hub
We do not sell LLM rankings. Nobody can measure them honestly. We sell what can be measured: structure, accessibility, and receipts to prove it. Two pipelines only: agency webhooks and developer CI gates.
Why only two integrations?
Agencies need CRM event firehose. Developers need PR score gates. Wide connector walls without live dispatch destroy trust. Depth over catalog width.
CRM and webhook event sync
POST a real JSON test payload to Zapier, Make, Slack, or any HTTPS webhook. Server SSRF firewall applies. Success is HTTP 2xx from the remote, not a fake timer.
GitHub Actions score gate
Copy a workflow that runs @aio-geo/cli on PRs and fails when structural readiness is below your floor. Structural scores only.
name: AIO.GEO Readiness Gate
on:
pull_request:
workflow_dispatch:
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Run AIO.GEO structural audit
env:
AIO_FAIL_UNDER: "70"
run: |
set -euo pipefail
# Open-core CLI: structural readiness only (not LLM rankings)
npx --yes @aio-geo/cli@latest audit "aiogeoprotocol.com" --json > aio-geo-audit.json || true
node -e "
const fs=require('fs');
let j={};
try { j=JSON.parse(fs.readFileSync('aio-geo-audit.json','utf8')); } catch {}
const score = Number(j.overallScore ?? j.score ?? j.aio?.overallAioScore ?? NaN);
const floor = Number(process.env.AIO_FAIL_UNDER || 70);
console.log('AIO.GEO score', score, 'floor', floor);
if (!Number.isFinite(score)) {
console.error('Could not parse score from CLI JSON. Check @aio-geo/cli output shape.');
process.exit(1);
}
if (score < floor) {
console.error('Readiness gate failed: score below floor.');
process.exit(1);
}
console.log('Readiness gate passed.');
"
- name: Upload audit artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: aio-geo-audit
path: aio-geo-audit.json
Commit to .github/workflows/aio-geo.yml
Salesforce and HubSpot (real tokens)
Paste live access tokens. We POST to Salesforce and HubSpot over HTTPS from the server. Full tokens stay in this browser tab (sessionStorage). Metadata only (last 4) is stored locally. Tokens are never written to Neon.
https://YOURORG.my.salesforce.comcrm.objects.contacts.write (and read for test).Google Indexing API (BYOK)
Paste a service account JSON with Indexing API access. We mint a real RS256 JWT, exchange a token, and POST URL_UPDATED. Failures return Google error text. No fake 202.