Integration · Forms
Connect Claude & ChatGPT to SurveyCTO
Ask your AI how many submissions a SurveyCTO form got this week, what a dataset record says, or who has access to your server. It can list forms, read and export submissions, work with server datasets and their records, and look up users, roles, teams and form groups. Field data questions get answered without downloading exports by hand.
Free plan, no credit card. Takes about a minute.
Try asking
“What came in on the household survey today?”
The AI finds the form ID and lists its latest submissions, sorted by completion date.
“Export all approved submissions for form baseline_2026.”
It exports the form data as JSON, filtered to approved submissions.
“Show me record HH-0412 in the households dataset.”
It finds the dataset and reads that record.
What your AI can do
Forms and submissions
List form IDs and form groups, list a form's submissions and export form data, optionally filtered by date or review status.
Server datasets
List datasets, read settings and records, download a dataset as CSV, and add or update records.
Users and teams
List users, roles and team IDs, and look up a user and their role.
“Add a new village record to the sites dataset.”
It adds a record with the column values you gave.
“Download the respondents dataset as CSV.”
It downloads all data in the dataset as CSV.
“Who on the server has the Data Manager role?”
It looks up the role and lists users with it.
42 tools for SurveyCTO
These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.
add_dataset_recordChanges dataAdd a record to a dataset by `dataset_id`; pass the column values as key-value pairs in `body`.attach_roleDeletesAttach a role (role id). Destructive action; may require approval. API summary: Attach a workflow profile to a role.create_datasetChanges dataCreate a new dataset. Required: discriminator. API summary: Create dataset.create_dataset_purgeChanges dataCreate a new purge for a dataset. API summary: Purge dataset.create_documentVisible to othersCreate a new document. Has effects visible outside this system. API summary: Bulk create users from CSV file.create_form_submissionChanges dataCreate a new submission for a form. Search submissions first to avoid duplicates. API summary: List form submissions (multipart, encrypted).create_jsonVisible to othersCreate a new json. Required: items. Has effects visible outside this system. API summary: Bulk create users from JSON.create_userChanges dataCreate a new user. Required: username. API summary: Create a user.create_workflow_profileChanges dataCreate a new workflow profile. Required: name. API summary: Create a workflow profile.delete_bulksMoves moneyPermanently delete a bulk. Financial or irreversible action; may require approval. API summary: Bulk delete users.delete_datasetDeletesPermanently delete a dataset by dataset id. Destructive action; may require approval. API summary: Delete dataset.delete_dataset_recordsMoves moneyPermanently delete a record by dataset id. Financial or irreversible action; may require approval. API summary: Delete record.delete_userDeletesPermanently delete a user by username. Destructive action; may require approval.delete_workflow_profileDeletesPermanently delete a workflow profile by workflow profile id. Destructive action; may require approval.detach_roleDeletesDetach a role (role id). Destructive action; may require approval. API summary: Detach the workflow profile from a role.download_dataset_csvDownload all data in a dataset as CSV by `dataset_id`.export_form_dataChanges dataExport all data for a form (`form_id`) as wide JSON. Set `date` to 0 for everything or a lower date bound, and `r` to filter by review status (approved, rejected).get_datasetGet one dataset's settings by `dataset_id`.get_dataset_recordGet one record from a dataset by `dataset_id` and `record_id`.get_roleGet one role by role id. API summary: Get role permissions.get_the_workflow_profile_attached_to_a_roleGet one role by role id. API summary: Get the workflow profile attached to a role.get_userGet one user by `username`, including their role.get_workflow_profileGet one workflow profile by workflow profile id. API summary: Get a workflow profile.list_dataset_recordsList records in a dataset by `dataset_id`, optionally filtered by modified date. Paginate with `cursor`.list_datasetsList server datasets, optionally for one `team_id`. Use to find a dataset ID.list_form_idsList the IDs of your SurveyCTO forms, optionally for one `team_id`. Use to find a form ID.list_form_submissionsList submissions for a form by `form_id`, sorted by `order_by` (such as completionDate). Paginate with `cursor`.list_groupsList form groups (folders), optionally under one `parent_group_id`.list_rolesList user roles on the server. Use to find a role ID.list_team_idsList the IDs of teams on the server, optionally only paused ones.list_usersList users on the server, optionally filtered by `role_id`.list_workflow_profilesList workflow profiles. API summary: List all workflow profiles.search_recordsChanges dataSearch records by order by or order by direction. Use this to find existing records before creating a new record. API summary: Search dataset records.search_submissionsChanges dataSearch submissions by order by or order by direction. Use this to find existing submissions before creating a new submission. API summary: Search form submissions (JSON body).update_datasetChanges dataUpdate an existing dataset identified by dataset id. API summary: Update dataset.update_documentsVisible to othersUpdate an existing document. Has effects visible outside this system. API summary: Bulk edit users from CSV file.update_jsonsVisible to othersUpdate an existing json. Has effects visible outside this system. API summary: Bulk edit users from JSON.update_submission_documentChanges dataUpdate an existing document identified by filename. API summary: Download a submission attachment.update_userChanges dataUpdate an existing user identified by username. API summary: Update a user.update_workflow_profileChanges dataUpdate an existing workflow profile identified by workflow profile id. API summary: Update a workflow profile.upload_recordChanges dataUpload a record (dataset id). API summary: Upload records from CSV.upsert_dataset_recordVisible to othersCreate or update a record in a dataset by `dataset_id` and `record_id`; pass the column values to set in `body`.
Set up in three steps
- 1
Pick the app
Create a free HeyMyApps account and choose SurveyCTO from the app list.
- 2
Paste your key
Enter your SurveyCTO server name (the 'acme' in acme.surveycto.com), plus the username (email) and password of a SurveyCTO user with the permissions you need, for example Form Manager or Data Manager, or admin for users and teams. API access depends on your SurveyCTO subscription plan. If your server uses SSO, ask SurveyCTO support for API access.
- 3
Add the link to your AI
You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:
- Click your name, then Settings › Connectors › Add custom connector.
- Paste your link as the Remote MCP server URL.
- Switch it on from the + menu in a chat.
Questions
What can the AI do in SurveyCTO?
The AI can list form IDs, form groups, form submissions, datasets, dataset records, users, roles and team IDs, export form data and download a dataset as CSV. It can add records to a dataset and create or update a record.
Does the AI see my SurveyCTO credentials?
No. Your SurveyCTO username and password are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.
Can I control what the AI is allowed to do?
Yes. You choose which tools are switched on, so you can start read-only. Updating a dataset record overwrites the values you pass and can require your approval before it runs. The SurveyCTO user you connect also limits what the AI can reach. Every tool call is logged.
Does it work with ChatGPT?
Yes. In ChatGPT go to Settings › Apps & Connectors › Advanced and turn on Developer mode, then add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.
What does it cost?
HeyMyApps has a free plan with no credit card required. Paid plans bill per completed task. You also need your own SurveyCTO account.
Which SurveyCTO user should I connect?
Use a SurveyCTO user with only the permissions the AI needs, for example Form Manager or Data Manager. Admin rights are only needed for users and teams. API access depends on your SurveyCTO subscription plan, and servers that use SSO need API access from SurveyCTO support.
Related integrations
Let your AI work in SurveyCTO today.
Start free. Your key stays encrypted, and you decide what the AI may do.
Connect SurveyCTO freeHeyMyApps is not affiliated with SurveyCTO. Product names are trademarks of their owners.






