Launching > Launch from a form
Launch via a magic link
Magic links are URLs that trigger Tallyfy actions automatically when a logged-in user clicks them. You can create links to:
- Launch a process from a template (and pre-fill kick-off data)
- Create a one-off task
- Complete or re-open a specific task
- Add a comment to a task
- Change a task’s deadline
- Update a form field value on a task
Required kick-off fields
Magic links can’t bypass required kick-off form fields. If your template has required fields, the magic link will fail because it tries to start the process without showing the form. Workarounds:
- Make kick-off fields optional if appropriate
- Use API calls that can supply all required field data
- Use public kick-off forms for manual entry
- Use middleware platforms that programmatically supply required values
- Go to Settings > Integrations.
- Find the Magic Links card and click Get a Magic Link.
| Action | What it does |
|---|---|
| Create one-off task | Creates a standalone task |
| Launch a process | Starts a new process from a template |
| Complete a task | Completes a specific task |
| Reopen a task | Re-opens a completed task |
| Write comment to a task | Adds a comment to a specific task |
| Edit task deadline | Updates the due date of a task |
| Update form field value | Changes a form field value on a task |
- Click Get a Magic Link in the Magic Links card.
- Choose Launch a process.
- Select the template you want the link to launch.
- Set the default process name (you can use variables).
- Copy the generated URL.
- Optionally add more parameters manually to pre-fill kick-off fields.
- Click Get a Magic Link.
- Choose Create a one-off task.
- Set the default task name.
- Copy the generated URL.
A link to launch a process and pre-fill data follows this pattern:
https://go.tallyfy.com/[YourOrgID]/process/[TemplateID]/create?default_run_name=Your+Process+Name&ko_fields=[{"fieldName1":"Value1"},{"fieldName2":"Value2"}]&launchprocess=true- Replace
[YourOrgID]and[TemplateID]with your actual IDs. default_run_namesets the process name (max 550 characters).ko_fieldscontains kick-off field names and values to pre-fill as JSON.- All values must be URL encoded ↗ (spaces become
+or%20). - The
ko_fieldsJSON -[{"field-name":"field-value"}]- must also be URL-encoded.
Use this format for ko_fields values (before URL-encoding):
| Field type | Example JSON value |
|---|---|
| Short/Long text | "Your Text Value" |
| Dropdown | {"id":ID,"text":"Selected Label","value":null,"required":true} (get ID from template editor) |
| Checkbox | [{"id":ID,"text":"Checked Label","value":null,"required":false,"selected":true}] |
| Radio button | "Selected Radio Value" |
| Date/Time | "YYYY-MM-DDTHH:mm:ss.SSSZ" (UTC format) |
Replace [YourOrgID] and [TaskID] with your actual values. All task-based actions use the /:org_id/magic URL path.
- Create task:
...?action=createOotTask&default_task_name=Review+Doc - Complete task:
...?action=completeTask&task_id=[TaskID] - Re-open task:
...?action=reOpenTask&task_id=[TaskID] - Add comment:
...?action=writeAComment&task_id=[TaskID]&comment=Please+review - Edit deadline:
...?action=editDeadline&task_id=[TaskID]&deadline=YYYY-MM-DDTHH:mm:ss.SSSZ - Update form field:
...?action=updateFormFieldValue&task_id=[TaskID]&form_fields={"fieldId123":"New+Value"}
You can pre-fill fields on public kick-off forms using the same ko_fields and default_run_name parameters. The public form URL follows this pattern:
https://go.tallyfy.com/[YourOrgID]/public/kickoff/[TemplateAlias]?ko_fields=[JSON]&default_run_name=[Name]This is useful when you want to embed application links on your website with specific values pre-selected - for example, pre-filling a property name based on which listing page the visitor clicked from.
Field value format reference (before URL-encoding):
| Field type | JSON format in ko_fields | Example |
|---|---|---|
| Short text | "fieldAlias": "value" | "first-name": "John" |
| Long text / Textarea | "fieldAlias": "value" | "notes": "Line 1" |
| Dropdown | "fieldAlias": {"id": N, "text": "Label"} | "property-name": {"id": 4, "text": "16 Laurel"} |
| Radio button | "fieldAlias": "Selected Label" | "housing-type": "BPDA" |
| Checkbox / Multiselect | "fieldAlias": [{"id": N, "text": "Label", "selected": true}] | "unit-sizes": [{"id": 1, "text": "Studio", "selected": true}] |
| Date | "fieldAlias": "YYYY-MM-DDTHH:mm:ss.SSSZ" | "app-date": "2026-03-05T00:00:00.000Z" |
"fieldAlias": "email@example.com" | "contact": "john@example.com" |
Practical example - embedding on a property listing website:
<a href="https://go.tallyfy.com/ORG_ID/public/kickoff/waitlist-app?ko_fields=%7B%22property-name%22%3A%7B%22id%22%3A4%2C%22text%22%3A%2216%20Laurel%22%7D%7D&default_run_name=Application%20-%2016%20Laurel"> Request Application</a>When a visitor clicks this link, they enter their email for verification, then see the kick-off form with the property name already selected. The same ko_fields JSON format works for both logged-in and public kick-off forms.
- Buttons or links in emails (e.g., “Click here to approve”)
- Links on your company intranet
- Buttons generated by other tools like your CRM
- QR codes for mobile-friendly workflow triggers
Triggers > Launch via a kick-off form
Was this helpful?
- 2025 Tallyfy, Inc.
- Privacy Policy
- Terms of Use
- Report Issue
- Trademarks