# Moving from GoHighLevel: forms and calendars

> Bring a GoHighLevel form into SIGNL from its link, see how a calendar becomes a booking page, and what you set up again.

Updated 2 October 2026.

## What comes across

A GoHighLevel form comes across as a SIGNL form from its link or id, and there is nothing to connect.
SIGNL reads each question's label, placeholder and whether it is required.
A GoHighLevel calendar comes across as a SIGNL booking page with its name, description and slot length.
Everything arrives unpublished: a form is always a draft and a booking page is always inactive.

## Bring a form over

1. Open Forms in the client workspace and choose New form.
2. Choose Import existing, then GoHighLevel.
3. Paste the form link. The widget link, the builder URL, an embed snippet or the bare id all work.
4. Type the name the form should have in SIGNL, because the name is not read from the page.
5. Create it, then open the draft and check each question before anyone sees it.

If the form comes back with no questions, SIGNL stops and says it may be private or already deleted.

Text, email, phone, number, date and file inputs become the matching SIGNL field types.
A text area becomes long text, and a set of radio buttons or a select becomes a dropdown.
A group of checkboxes becomes a multi select and a single checkbox becomes a yes or no.
A question counts as required when its label ends in an asterisk.

## Bring calendars over

There is no calendar button in the product yet.
The import runs as the command `pnpm import:events` with `--source ghl`, and it prints a dry run unless you add `--apply`.
It reads your active calendars with a GoHighLevel private integration token, and one location id is written into the script, so it is not yet a route any account can use.
Each page is filed in Sales Calls, Onboarding Calls, Client Calls or Archive, chosen from its name, so check the folder.

## What you set up again

- Opening hours. A calendar's availability is not imported, so SIGNL leaves the hours empty and says so.
- Publishing. SIGNL refuses to publish a booking page with no available hours.
- Slot length. A reported length of one minute or less is set to 30 minutes with a note, so check it.
- Round robin. A round-robin calendar gets a note to assign a talent pool in SIGNL.
- Routing on forms. An imported form has no qualification rules and a single Thanks end screen.
- Look. The form arrives with SIGNL's dark theme and an empty brand.

## What it does not bring

The GoHighLevel integration in SIGNL receives GoHighLevel events by webhook, can send SIGNL events to a workflow, and can read a connected sub-account's contacts and upcoming appointments.
SIGNL never writes to your GoHighLevel account through its API.
Hidden inputs, submit buttons and other buttons are skipped when a form is read.

If you have contacts to move, export them to a CSV and use the Imports page, which walks through Upload, Map, Preview and Import.
The Preview step builds a sample of the first rows before the Import step.
An import can be undone from its run, and the confirmation lists what is deleted and what is kept.
