Follow our Tutorial:
Add your App in the Sismo App Store
This cheatsheet contains the full zkForm template config, as well as an explanation for each parameter.
‣
zkForm Template Config
// COPY FROM HERE
{
// NO UPDATE. Template type
type: "zkForm",
// UPDATE. App information
metadata: {
name: "Sismo Swag Lottery", // UPDATE. Your app name
slug: "swag-lottery", // UPDATE. Your app name in the form of a slug (no spaces allowed). It will be the last part in the URL, eg: apps.sismo.io/sismo/swag-lottery
description:
"Prove you are a Sismo Community member to participate in the Lottery.", // UPDATE. The description is used for SEO and social media preview of your app
image: "sismo_zkform_swag_500x500.png", // UPDATE. Image for your app, to be placed in the images folder
tags: ["Swag"], // UPDATE. Add one or two tags to describe your app
createdAt: new Date("2022-07-01T00:00:00.000Z"), // UPDATE. Edit the date here to today's date YYYY-MM-DD
lastUpdateAt: new Date("2022-07-01T00:00:00.000Z"), // UPDATE OR REMOVE. Edit the date here to last update date YYYY-MM-DD
},
// UPDATE. Sismo Connect request, see "Cheatsheet: Build Your Sismo Connect Request"
sismoConnectRequest: {
appId: "{{ auto-fill }}", // NO UPDATE. Sismo Connect appId is automatically created based on your app metadata
authRequests: [{ authType: AuthType.VAULT }], // UPDATE OR REMOVE. Select auth
claimRequests: [{ groupId: "0xc90878eaa974c31bc62c52ad86121765" }], // UPDATE OR REMOVE. Select group
},
// UPDATE. Config for zkForm
templateConfig: {
step1CtaText: "Prove you are Eligible", // UPDATE OR REMOVE. 1st step text when users click on the app, "Sign in with Sismo" by default
step2CtaText: "Participate in the Swag Lottery", // UPDATE. 2nd step button text, on submitting the form
appDescription: "You will prove that you are a member of Sismo Community to participate in the lottery by providing your email.", // UPDATE OR REMOVE. Description for your app
// UPDATE OR REMOVE. Form fields
fields: [
{
type: "short-text", // NO UPDATE. Your field type
label: "Email", // UPDATE. Your field name
placeholder: "Double check please!", // UPDATE OR REMOVE. Your helper text
isRequired: true, // UPDATE OR REMOVE. Field required or not, true by default
},
],
// UPDATE OR REMOVE. Success form message
congratulationsMessage: {
title: "Fingers crossed!", // UPDATE. Your title
description: "We hope to have you as a lucky winner :)", // UPDATE. Your message
},
// UPDATE OR REMOVE. User selection
userSelection: { type: "Lottery", maxNumberOfEntries: 10, numberOfWinners: 10 }, // UPDATE. Your type: "Lottery" or "FCFS". If "FCFS", only use parameter "maxNumberOfUsers". See Parameters explanation below.
// UPDATE. Data storage
output: {
destination: {
type: "google_sheet", // NO UPDATE.
spreadsheetId: "", // UPDATE. See "Add your App in the Sismo App Store"
},
saveAuths: true, // UPDATE OR REMOVE. Save Auths outputs in spreadsheet
saveClaims: true, // UPDATE OR REMOVE. Save Claims outputs in spreadsheet
},
},
// UPDATE OR REMOVE. App dates
options: {
startDate: new Date("2023-05-12T18:00"), // UPDATE OR REMOVE. Your start date YYYY-MM-DD
endDate: new Date("2024-05-19T18:00"), // UPDATE OR REMOVE. Your end date YYYY-MM-DD
},
},
// UNTIL HERE
‣
Parameters Explanation
type
: zkForm template.
metadata
: app information.name
: formal app name, should reflect the app's function or purpose.slug
: URL-friendly "your-app-slug”, unique and descriptive, in lowercase and with hyphens. Part of the URL that refers to your specific app, eg: “apps.sismo.io/space-name/your-app-slug”.description
: summary of what your app does or its purpose.image
: name of your image, to be placed in images folderspace-configs/images/
.tags
: keywords associated with your app used to classify it.createdAt
: creation date for your app, eg: "2023-07-05T18:00" for a creation date on July 2023, 5 at 18:00.lastUpdateAt
(optional): last update for your app, eg: "2023-07-05T18:00" for a creation date on July 2023, 5 at 18:00.
sismoConnectRequest
: Sismo Connect request made to users’ Data Vault. To learn how to customize this part, readCheatsheet: Build Your Sismo Connect Request
templateConfig
config specific to zkForm, with input fields for users to complete.step1CtaText
(optional): call to action. Displayed when users click on the app, before being redirected to their Data Vault to generate a proof.step2CtaText
: call to action. Displayed after users return from their Data Vault with a valid proof.appDescription
(optional): brief description of what to expect from your app.fields
: input fields, each object represents a field form.type
: "short-text", short text. Other input fields will be added in the future.label
: name of the field.placeholder
(optional): hint text to appear in the input field.isRequired
(optional): boolean value to specify if required or not, set totrue
by default.congratulationsMessage
(optional): success form message after users submit their data.title
: headline.description
: more detailed message.userSelection
(optional): specify a method to select users.type
: “FCFS” (First Come First Served) or “Lottery”.maxNumberOfEntries
(Lottery): limit the number of users.numberOfWinners
(Lottery): specify the number of winners.maxNumberOfUsers
(FCFS): limit the number of users.output
: output of your app.destination
: where the data is stored.type
: destination type, eg: "google_sheet". More types will be available.spreadsheetId
: unique ID of the Google Sheets, copied from the URL of the Google Sheets.saveAuths
(optional): save Auths outputs from Sismo Connect request.saveClaims
(optional): save Claims outputs from Sismo Connect request.options
(optional): dates of your app.startDate
(optional): start date YYYY-MM-DD, eg: "2023-07-05T18:00" for July 2023, 5 at 18:00.endDate
(optional): end date YYYY-MM-DD, eg: "2024-07-05T18:00" for July 2024, 5 at 18:00.
Contact us if you need help creating your Pull Request:
👉 Telegram | Discord | App Request form