Skip to main content
Limited Release
Forms are in limited release and are not generally available. Contact your account manager to request access.

Verify a Ticket Secret Key

Build a form that only updates a ticket when the visitor supplies both the ticket number and a secret key that matches a custom field on that ticket. Anyone can open the form, but only the person who received the key for a specific ticket can submit against it.

This pattern gives you per-ticket verification without accounts or logins. It pairs well with password protection, which controls who can open the form at all.


Overview​

PiecePurpose
Ticket custom fieldHolds a unique key for each ticket.
ticket_number and secret_key fieldsWhat the visitor supplies.
Verify ticket access workflowQueries for a ticket that matches both values.
ticket_title fieldCalculated. Confirms a successful match.
Submission conditionBlocks the submission unless the query matched.

Related pages:


Before You Start​

  1. Connect Autotask. See Autotask Connections.
  2. Create a user-defined field on the Autotask Ticket entity to hold the key, for example Portal Key.
  3. Decide how each ticket gets a key. A common approach is to generate one when the ticket is created and include it in the customer's confirmation email. See Generate a Random String.

Step 1: Add the Visitor's Fields​

Select the Input tab and add three fields.

FieldValue
Nameticket_number
LabelTicket number
TypeString
RequiredChecked
FieldValue
Namesecret_key
LabelAccess key
TypePassword
RequiredChecked
DescriptionThe access key from your ticket confirmation email.
FieldValue
Namenote
LabelYour update
TypeTextarea
RequiredChecked

Using Password for the key masks it in history records.


Step 2: Create the Verification Workflow​

Select the Pre-Submission Workflows tab, then select Add Workflow.

FieldValue
NameVerify ticket access
Run this workflow onField change
Recalculate when these fields changeticket_number, secret_key

Select Add Action and add API: Query for One Object.

SettingValue
Store the results in variableticket
Autotask Entity Type to QueryTicket
Query conditionsAll of these (AND): TicketNumber equals {{input.ticket_number}}, and UDF: Portal Key equals {{input.secret_key}}

Leave Generate an exception if no results unchecked. A mismatch should return nothing rather than fail the workflow.

Select Save Workflow.

Because the workflow watches two fields, it waits until the visitor has filled in both before it runs.

Let the query do the matching

Put both values in the query instead of comparing the key in a condition afterward. The query returns a ticket only when the number and the key belong to the same record, and the key never travels back to the browser.


Step 3: Confirm a Match to the Visitor​

Return to the Input tab and add a calculated field.

FieldValue
Nameticket_title
LabelVerified ticket
TypeString
Populate this field with a Pre-Submission Workflow outputChecked
Pre-Submission WorkflowVerify ticket access
Propertycustom.ticket.Title

The visitor sees the ticket title as soon as both values are correct, and sees nothing when they are not.


Step 4: Block Submissions That Did Not Verify​

Select the Advanced tab.

  1. Select Restrict submission with a condition.
  2. Set Submission behavior to Allow only if condition matches.
  3. Add a rule: Workflow: Verify ticket access / custom.ticket.id is not empty.

The check runs on the server, so a visitor cannot bypass it by editing the page. A failed verification shows "This form cannot be submitted with the current values." and no actions run.


Step 5: Update the Ticket​

Select the Actions tab and add the action that applies the update, such as API: Create an Object for a TicketNote on {{input.ticket_number}}.

Because the submission condition already guaranteed the match, your actions can trust the ticket number they receive.

Save the form.


Step 6: Test It​

TestExpected result
Correct ticket number and correct keyThe verified ticket title appears and the submission succeeds.
Correct ticket number, wrong keyNo title appears and the submission is blocked.
Wrong ticket number, correct keyNo title appears and the submission is blocked.
Both correct, then the key edited in the browser before submittingThe submission is blocked, because the server re-verifies.

Hardening Notes​

  • Use a long random key. Twelve or more mixed characters from Generate a Random String is a reasonable starting point.
  • Issue a new key per ticket. Do not reuse one key across tickets or customers.
  • Public form endpoints are rate-limited per IP address, which slows down guessing, but a short key is still guessable given time.
  • Add password protection when the form itself should not be publicly readable.

Next Steps​

  • Show a help message when verification fails, using a text field with Conditional Visibility that checks the workflow property is empty.
  • Apply the same pattern to other records by querying a different entity and custom field.