FROM CONVERSATION TO CONNECTION

Your integration playbook.

One form on your website. One signed event for every completed submission. No manual CSV import needed once your receiver is connected.

WC Dialer and winnerscircle.info do not have a verified API contract in this project. This guide defines Formcraft’s event format and supplies a receiver you can install. It does not claim an existing native connection to either site.

1. Put the form on your website

  1. Publish your form from the editor.
  2. Open Workspace → Connections → Get embed code.
  3. Copy the iframe into your website’s HTML/embed block. Allow the Formcraft origin in your website’s frame policy if required.
  4. The site must permit your intended respondents to visit. This deployment remains owner-private until public launch is enabled.

An embed displays the form. To create entries in WC Dialer or Winner’s Circle, add the receiver connection below.

2. Install the entry receiver

The reference receiver runs as a Cloudflare Worker and stores signed entries in a D1 inbox. Your website developer can adapt the same contract to its existing server and contact database.

  1. Create the inbox table using the supplied schema and bind it as INBOX.
  2. In Formcraft Connections, choose WC Dialer, Winner’s Circle, or Custom webhook. Select a form and enter your receiver’s HTTPS URL.
  3. Save the connection. Copy the one-time signing secret into your receiving server’s FORMCRAFT_WEBHOOK_SECRET secret.
  4. Enable delivery. Complete a test submission on the published form, then check Delivery activity and your inbox.
  5. Map the inbox’s name, email, phone, and answer fields to the receiving website’s contact or entry model. A receiver installed separately does not modify the website’s existing database until this mapping is added.

3. Read the response event

{
  "event": "response.completed",
  "version": 1,
  "responseId": "unique-response-id",
  "submittedAt": "2026-10-18T18:00:00.000Z",
  "form": {
    "id": "form-id",
    "title": "Digital interview"
  },
  "contact": {
    "name": "Example Prospect",
    "email": "prospect@example.com",
    "phone": "+12025550147"
  },
  "fields": [
    {
      "id": "name",
      "question": "What is your name?",
      "description": "",
      "type": "Short text",
      "value": "Example Prospect"
    }
  ],
  "answers": {
    "name": "Example Prospect"
  },
  "parameters": {
    "source": "winnerscircle"
  },
  "variables": {
    "score": 0
  },
  "tags": []
}

Map contact fields in the form editor. Declare URL parameters in Workflow to keep source and campaign information with the entry.

4. Verify, store, acknowledge

Google Sheets without a CSV

  1. The app administrator configures a Google service account with the Sheets API enabled.
  2. Create a dedicated spreadsheet. Share it with the service email shown in Connections, with Editor access.
  3. Copy your workspace verification code from Connections into cell H1 of the first worksheet. Save the spreadsheet URL, select the form, and click Check access. No row is added by this check.
  4. Enable delivery. Each completion appends a row to the first worksheet with response ID, date, form, mapped name/email/phone, and the full answers as JSON. Leave columns A–G blank initially and keep your verification code in H1.

For a spreadsheet with one column per question, export the form’s CSV from Usage & responses. Exports include full question text and protect against spreadsheet formulas in answers.

Optional browser completion signal

Embedded forms send a formcraft:submitted message to the parent origin after successful submission. It contains only the form ID and response ID. Use it to show a confirmation or track a completion; use the signed webhook for trusted data delivery.

const frame = document.querySelector('iframe');
window.addEventListener('message', (event) => {
  if (event.origin !== 'https://formcraft-conversations.ffl-arthur.chatgpt.site') return;
  if (event.source !== frame.contentWindow) return;
  if (event.data?.type === 'formcraft:submitted') {
    // Show your thank-you message. Do not treat this as a trusted lead record.
  }
});
Open your connections