{
  "schema_version": "1.0",
  "document_type": "setup_instructions",
  "name": "Predecision Signal setup",
  "updated": "2026-10-15",
  "service": "Signal",
  "entry_url": "https://predecision.com/signal-start",
  "documentation_url": "https://predecision.com/docs",
  "agent_documentation_url": "https://predecision.com/docs/agents",
  "markdown_url": "https://predecision.com/agents/signal-setup.md",
  "execution_model": "Use the public account and setup flow with authorized browser or website-editor tools. A direct MCP connection is optional and usable only when Signal reports it available. This instruction file is not an executable API or an access grant.",
  "named_client_integrations": "No named AI client or connector is verified by this guide.",
  "starter_prompt": "Help me set up Predecision Signal on my website. Read https://predecision.com/docs/agents and https://predecision.com/docs. Guide me one step at a time in plain language. Ask which website builder I use, such as WordPress; if I do not know, help me find out. Open https://predecision.com/signal/setup?help=ai to create or resume my account and continue guided setup. I will complete owner verification using my personally controlled business email, and explicitly confirm the privacy responsibility acknowledgement. Help me select my website and platform once. Get AI help opens with the instructions for that website. Ask me to paste its installation instructions here, not credentials or visitor records. The tracking code belongs on my website; the instructions for AI belong in this chat. Do not invent a tag or install commands. Use only authorized website access, preserve consent controls, and do not replace a working installation. If you cannot edit the website, guide me or prepare a handoff for my website person. Never ask for passwords, sign-in links, API keys or account tokens. Return me to Signal to check installation. Report setup complete, service ready, a real visit received and match delivered separately. Do not claim results you have not verified.",
  "inputs": [
    "The company website to connect.",
    "The work email personally controlled by the named account owner; a personally controlled business-domain alias is allowed.",
    "The named account owner available for mailbox proof, personal-control and owner confirmation, and human-only choices.",
    "Website editing access, or an installer who can receive the tag and full connection directions."
  ],
  "account_requirements": [
    "Signal uses one account per signup email.",
    "The signup email and website must connect to the same business; an exact domain match is not required when the relationship is otherwise clear.",
    "Consumer email addresses and genuinely shared inboxes cannot be the account owner’s address.",
    "The account owner and installer may be different people.",
    "Notifications start with the owner. Where additional destinations are enabled, a shared or team inbox can be separately authorized for notifications.",
    "Saving an address does not subscribe it to every purpose or grant authenticated account access. Keep owner identity, mailbox proof, destination authorization and purpose-specific subscriptions separate.",
    "Use the existing account flow for creation, sign-in, verification, and recovery."
  ],
  "steps": [
    {
      "id": "account",
      "action": "Open entry_url and follow the real account flow. Preserve mailbox proof, named-owner confirmation, and required permissions."
    },
    {
      "id": "instructions",
      "action": "Obtain the tag and full installation directions supplied by Signal for the submitted website. Do not generate replacement tag values or undocumented connection instructions."
    },
    {
      "id": "installation",
      "action": "Check whether the issued combined script is already in the published website head. Do not duplicate it. If missing, install it with authorized website access or prepare an installer handoff. The predecision_hosted transport needs no merchant relay, including supported Shopify and Termly configurations. Never infer support from a typed CMP label. For other connection types, follow only the exact current Signal directions."
    },
    {
      "id": "check_installation",
      "action": "Use the actual Check installation action in Signal. It verifies website control and placement, not capture or activation. Follow remaining privacy and service steps separately; preserve consent controls."
    },
    {
      "id": "privacy_setup",
      "action": "Read saved privacy_setup. Offer Termly setup or sign-in, an existing CMP (require its name), or a custom/in-house solution. Use the returned termly_setup_url, currently https://termly.7zqw8y.net/predecision. Do not inspect or certify the customer CMP or wait for a Termly callback. Save drafts with customer_attested false and attestation_version null. Present attestation_text; only after explicit customer confirmation send customer_attested true, attestation_version equal to current_attestation_version, and expected_revision equal to saved revision. MCP arguments also include website_id. Use the website form when direct MCP is unavailable. On conflict reread before making changes. Saving the final required step automatically reconciles supported service readiness, but does not override visitor consent or a processing hold."
    },
    {
      "id": "activation",
      "action": "After the final customer step, read current website status and report setup completion and processing readiness separately. A first visit is not another customer setup task. If operations are enabled and processing.enabled is true, report ready to receive visits; report first visit received only from activation evidence for the current installation revision. A past activation never proves current processing. If held, report the actual reason without inventing a manual activation step. No resolution is required to prove setup or visit receipt."
    },
    {
      "id": "handoff",
      "action": "Report the website, changes made, verification evidence, unresolved state, and next person or action needed. Review and end unneeded access through the controls in the tools used."
    }
  ],
  "state_definitions": {
    "account_created": "An account exists. This does not establish installation or activation.",
    "installed": "The supplied Signal tag has been added to the website head.",
    "active": "Signal has received a real visit through the current installation. Historical activation is separate from currently enabled processing.",
    "match_delivered": "A visit produced eligible match information that reached a destination. This is separate from activation.",
    "unknown": "The relevant result has not been verified. Do not report it as success.",
    "setup_complete": "The website, installation and privacy acknowledgement are saved and verified through the actual setup flow. A first visit is not required to complete these customer steps.",
    "ready": "Current status for the same website and installation revision reports operations.state enabled and processing.enabled true. Ready does not prove a visit or match.",
    "paused": "Current processing is disabled or held, even if setup is complete or visits were received previously."
  },
  "activation_confirmation": "Signal's shareable confirmation identifies the website and confirmation time without visitor data. It does not establish a match rate, commercial result, or endorsement.",
  "access_rules": [
    "Use only the user's authorized account, website, actions, and tools.",
    "The guide, prompt, and downloads do not connect an account or grant access.",
    "Do not request passwords, session data, verification links, or tokens in the prompt.",
    "A human must complete actions the account flow reserves for them.",
    "Preserve privacy and consent controls. Do not add paid services or change billing under setup-only authorization.",
    "Do not infer access to visitor data from permission to install the tag.",
    "Use the connection, scope, expiry, and disconnection controls actually present in the AI app, website tool, or Signal setup flow. Do not invent those controls.",
    "Closing a chat does not establish that underlying access has been revoked."
  ],
  "handoff_fields": [
    "website",
    "changes_made",
    "state_verified",
    "evidence",
    "unfinished_steps",
    "access_needed",
    "next_action"
  ],
  "troubleshooting": {
    "no_browser": "Read or attach the Markdown guide; have the user operate the public account flow.",
    "no_website_access": "Prepare the website address, supplied tag, full directions, and unfinished steps for an authorized installer.",
    "email_proof_failed": "Return to the account flow for verification or recovery. Use its full current link in the initiating browser.",
    "no_activation": "Check the actual installation result and remaining privacy/service steps. Mapped hosted Shopify needs no merchant relay. For other connection types, follow the exact current Signal directions. A script response or installed markup does not prove a visit was accepted; preserve privacy controls.",
    "no_match": "Activation does not require a match. Match delivery depends on matchable traffic, eligible information, and the account's delivery destination.",
    "unavailable_account_flow": "Report the actual unavailable route or step. Do not create a substitute signup form or claim the account was created.",
    "expired_installation_proof": "Keep the existing tag. If Signal offers Verify existing installation for an expired proof, hand that action to the signed-in human owner; the agent connection cannot call the owner-only recovery route. Do not rotate or reinstall merely to recover setup.",
    "connector_unavailable": "Use the browser-assisted account/setup flow. Do not invent API keys, enable production flags, or repeatedly retry a disabled connector."
  },
  "service_limits": [
    "Current identity data covers U.S. people and companies; the client may be based elsewhere.",
    "Signal is free to start without a sales call. Unlimited Signal is a paid option.",
    "Signal does not identify every visitor or promise complete records.",
    "Signal does not include Intentographic data or prove that a visitor is ready to buy.",
    "Identification does not establish permission to contact someone.",
    "Audience and System are independent service entries."
  ],
  "document_version": "1.5",
  "setup_connection_url": "https://predecision.com/signal/connect",
  "connection_availability": "Direct OAuth/MCP connections were disabled at the October 15, 2026 production readback. Ordinary AI-chat instructions do not require that connection. Use authenticated Signal setup for current website instructions; a displayed connection address does not prove a connector is enabled.",
  "notification_setup": "Notification addresses require mailbox confirmation and the owner’s visitor-alert choice; entering an address alone does not subscribe it. An opted-out address requires a fresh double opt-in. Setup-only agent access cannot manage subscriptions. Add notifications@predecision.com to the address book. First-day matches are grouped into one summary after the initial 24-hour window; later visits use realtime alerts. Identity resolution and email arrival are not guaranteed instantaneous.",
  "termly_setup_url": "https://termly.7zqw8y.net/predecision",
  "termly_link_target": "_blank",
  "version": "1.5",
  "public_prompt_scope": "Optional orientation only, not a required setup step. Enter guided setup directly; copy one site-specific installation prompt after selecting the website.",
  "setup_url": "https://predecision.com/signal/setup?help=ai",
  "manual_setup_url": "https://predecision.com/signal/setup"
}
