Publishing Your First Form¶
This guide walks you through the essential steps to publish your first form from Google Sheets to ODK Central using Publish MDM. This is the easiest way to get started—no device management required.
What you’ll learn:
Set up a connection to your ODK Central server
Create a form template from a Google Sheet
Publish your form to ODK Central
Share the form with data collectors
Note
If you want to manage Android devices and automatically configure them with forms, see Getting Started with Device Management. Device management is optional and not required for basic form publishing.
Prerequisites¶
Before starting, you’ll need:
A Publish MDM account — log in at https://app.publishmdm.com/
An ODK Central server — either self-hosted or from a service provider
ODK Central login credentials — username and password (or app password)
A Google Sheet with your form — use XLSForm to design your form
Step 1: Create an Organization¶
If you haven’t already, create a Publish MDM organization:
Log in to Publish MDM at https://app.publishmdm.com/
On first login, you will be prompted to create a new organization. If you already have an existing organization, click your initials in the top right corner, select Switch organization, and then click Create a new organization.
Enter an organization name (e.g., “My Organization”) and a slug (e.g., “my-organization”, will be used in the URLs for the organization’s pages) and click Save.
Note
For form publishing, you can use any Google account.
Step 2: Connect Your ODK Central Server¶
To publish forms, Publish MDM needs credentials to access your ODK Central server:
Navigate to Central Servers in the sidebar.
Click Add Central Server.
Enter the following information:
Base URL: The base URL of your ODK Central instance (e.g.,
https://central.example.com)Username: Your ODK Central username
Password: Your ODK Central password
Click Add central server. Publish MDM will verify your credentials and connection.
Important
Your credentials are encrypted and stored securely.
Step 3: Sync or Create an ODK Project¶
Publish MDM organizes forms within ODK projects. You can either sync an existing project or create a new one:
Option A: Sync an Existing ODK Central Project
Navigate to Sync Project in the sidebar.
Select your Central Server.
Select the project you want to sync from ODK Central.
Click Sync. Publish MDM will import the project and its existing app users.
Note
This is a read-only operation, and will not alter your ODK Central project until you publish a form from within Publish MDM.
Option B: Create a New Project
Navigate to Add Project in the sidebar.
Enter a project name.
Select your Central Server.
(Optional) Set template variables, app language, and/or project attachments.
Click Save project.
Note
This option requires that your user is an administrator on the ODK Central server so it can create projects.
Step 4: Create Form Template(s)¶
A form template is your Google Sheet form that will be published to ODK Central. You can use an existing Google Sheet you have, or create a new one for testing.
Note
The Google Sheet must follow the XLSForm standard. For a simple test, you can use the XLSForm tutorial to create a basic form.
Once you have a Google Sheet ready, create a form template in Publish MDM:
Navigate to Form Templates in the sidebar.
Click Create Form Template.
Fill in the form details:
Title Base: A descriptive name for your form (e.g., “Household Survey”)
Form ID Base: A unique identifier for your form (e.g., “household_survey”)
Template URL: Click “Select with Google Picker” and paste the URL of your published Google Sheet, or browse to your form (make sure you have edit access)
App users: Leave blank for now
Click Create. Publish MDM will download and validate your form.
Step 5: Create App User(s)¶
An app user is a data collector who will fill out forms using ODK Collect. Create one or more app users for your project:
Navigate to your project’s App Users page in the sidebar.
Click the Actions button (or the plus icon) and select Add an app user.
Enter a username (e.g., “collector_01”, “field_team_a”).
Click Create or Save.
Tip
Create one app user per data collector, or create multiple app users to segment data (e.g., by region or team).
Important
A powerful feature in Publish MDM is its ability to publish customized versions of a form to different app users using template variables. Refer to Dynamic Forms with Template Variables to learn how this works.
Step 6: Assign Forms to App Users¶
Tell Publish MDM which forms each app user should have access to:
Navigate to Form Templates and select your form.
Scroll to the App Users section.
Select the app user(s) you created in Step 5 to assign this form to them.
Click Save or Update.
Step 7: Publish Your Form¶
Now you’re ready to publish:
Navigate to your form template.
Click Publish (or Publish New Version if you’ve published before).
Publish MDM will:
Download your Google Sheet
Transform it for each assigned app user
Upload it to ODK Central
Create/update the form for each app user
Once complete, you’ll see a confirmation message.
Troubleshooting: If publication fails, check that: - Your Google Sheet URL is correct and you have edit access - Your ODK Central server credentials are valid - Your form follows the XLSForm standard
Step 9: Collect Data¶
Your data collectors can now:
Open ODK Collect on their device.
Tap Get Blank Form to download any new forms (if they haven’t been auto-downloaded).
Tap Fill Blank Form to start collecting data.
Select your form and fill it out in the field.
Mark the form as complete when done.
Submit completed forms when they reconnect to the internet.
The submitted data will appear in your ODK Central project under the Submissions tab for analysis.
Optional: Update Your Form¶
To make changes to your form:
Edit your Google Sheet.
Return to the Form Templates page and select your form.
Click Publish or Publish New Version (depending on whether this is the first publish or an update).
Publish MDM will upload the updated form to ODK Central.
When data collectors open ODK Collect, they will see a notification that a new version is available and can download the latest form.
What’s Next?¶
Want to customize forms for different users or data sources? Check out Dynamic Forms with Template Variables to learn how to use template variables to personalize forms without creating multiple versions.
Want to automate device management? See Getting Started with Device Management to set up Android device management, automatic form deployment, and policy enforcement.
Need to manage large datasets efficiently? Explore the Managing Large Entity Lists guide.
Have questions? Refer to the Troubleshooting Guide or contact support.