---
title: Alchemer API Integration on Truto
slug: alchemer
category: Survey
canonical: "https://truto.one/integrations/detail/alchemer/"
---

# Alchemer API Integration on Truto



**Category:** Survey  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 99 tools for Alchemer that AI agents can call directly.

- **list_all_alchemer_account_teams** — List all account teams in Alchemer. Returns a collection of account team objects.
- **get_single_alchemer_account_team_by_id** — Get a single Alchemer account team by id. Returns the account team object. Required: id.
- **create_a_alchemer_account_team** — Create a new account team in Alchemer. Returns the created account team object.
- **update_a_alchemer_account_team_by_id** — Update an existing Alchemer account team by id. Returns the updated account team object. Required: id.
- **delete_a_alchemer_account_team_by_id** — Delete an Alchemer account team by id. Returns an empty response on success. Required: id.
- **list_all_alchemer_account_team_users** — List all users belonging to a specific alchemer account team. Returns user records associated with the team. Required: team_id.
- **create_a_alchemer_account_team_user** — Add users to a specific alchemer account team. Returns the resulting team user records after the operation. Required: team_id.
- **update_a_alchemer_account_team_user_by_id** — Update users associated with a specific alchemer account team. Returns the updated team user records after the operation. Required: team_id.
- **delete_a_alchemer_account_team_user_by_id** — Remove users from a specific alchemer account team. Returns the remaining team user data after the operation. Required: team_id.
- **list_all_alchemer_account_users** — List all account users in Alchemer. Returns a collection of account user records.
- **get_single_alchemer_account_user_by_id** — Get a single Alchemer account user by id. Returns the account user record. Required: id.
- **create_a_alchemer_account_user** — Create a new account user in Alchemer. Returns the created account user record.
- **update_a_alchemer_account_user_by_id** — Update an existing Alchemer account user by id. Returns the updated account user record. Required: id.
- **delete_a_alchemer_account_user_by_id** — Delete an Alchemer account user by id. Returns an empty response on success. Required: id.
- **list_all_alchemer_account_user_teams** — List teams associated with a specific alchemer account user. Returns the collection of team records assigned to the user. Required: user_id.
- **create_a_alchemer_account_user_team** — Assign teams to a specific alchemer account user. Uses a PUT request to set the team associations for the given user. Required: user_id.
- **update_a_alchemer_account_user_team_by_id** — Update the team assignments for a specific alchemer account user. Uses a PUT request to replace the existing team associations for the given user. Required: user_id.
- **delete_a_alchemer_account_user_team_by_id** — Remove team associations from a specific alchemer account user. Required: user_id.
- **list_all_alchemer_contact_custom_fields** — List all contact custom fields defined in Alchemer. Returns a collection of contact custom field objects.
- **get_single_alchemer_contact_custom_field_by_id** — Get a single Alchemer contact custom field by id. Returns the matching contact custom field object. Required: id.
- **create_a_alchemer_contact_custom_field** — Create a new contact custom field in Alchemer. Returns the created contact custom field object including its id.
- **update_a_alchemer_contact_custom_field_by_id** — Update an existing Alchemer contact custom field by id. Returns the updated contact custom field object. Required: id.
- **delete_a_alchemer_contact_custom_field_by_id** — Delete an Alchemer contact custom field by id. Returns an empty response on success. Required: id.
- **list_all_alchemer_contact_lists** — List all contact lists in Alchemer. Returns a collection of contact list objects.
- **get_single_alchemer_contact_list_by_id** — Get a single Alchemer contact list by id. Returns the contact list object. Required: id.
- **create_a_alchemer_contact_list** — Create a new contact list in Alchemer. Returns the created contact list object.
- **update_a_alchemer_contact_list_by_id** — Update an existing Alchemer contact list by id. Returns the updated contact list object. Required: id.
- **delete_a_alchemer_contact_list_by_id** — Delete an Alchemer contact list by id. Required: id.
- **list_all_alchemer_contact_list_contacts** — List all contacts in an Alchemer contact list. Required: contactlist_id.
- **get_single_alchemer_contact_list_contact_by_id** — Get a single contact from an Alchemer contact list by id. Required: contactlist_id and id.
- **create_a_alchemer_contact_list_contact** — Create a new contact in an Alchemer contact list. Required: contactlist_id.
- **update_a_alchemer_contact_list_contact_by_id** — Update an existing contact in an Alchemer contact list by id. Required: contactlist_id and id.
- **delete_a_alchemer_contact_list_contact_by_id** — Delete a contact from an Alchemer contact list by id. Returns an empty 204 response on success. Required: contactlist_id and id.
- **list_all_alchemer_domains** — List all domains in Alchemer. Returns a collection of domain objects.
- **get_single_alchemer_domain_by_id** — Get a single Alchemer domain by id. Returns the domain object for the specified id. Required: id.
- **create_a_alchemer_domain** — Create a new domain in Alchemer. Returns the created domain object.
- **update_a_alchemer_domain_by_id** — Update an existing Alchemer domain by id. Returns the updated domain object. Required: id.
- **delete_a_alchemer_domain_by_id** — Delete an Alchemer domain by id. Required: id.
- **list_all_alchemer_sso_integrations** — List all SSO integrations configured in Alchemer. Returns a collection of SSO integration objects from the account.
- **get_single_alchemer_sso_integration_by_id** — Get a single Alchemer SSO integration by id. Returns the full SSO integration object for the specified id. Required: id.
- **create_a_alchemer_sso_integration** — Create a new SSO integration in Alchemer. Returns the created SSO integration object including its id and configuration details.
- **update_a_alchemer_sso_integration_by_id** — Update an existing Alchemer SSO integration by id. Returns the updated SSO integration object. Required: id.
- **delete_a_alchemer_sso_integration_by_id** — Delete an Alchemer SSO integration by id. Returns an empty response on success. Required: id.
- **list_all_alchemer_surveys** — List all surveys in alchemer. Returns a collection of survey objects including id and related metadata.
- **get_single_alchemer_survey_by_id** — Get a single alchemer survey by id. Returns the full survey object including id and related metadata. Required: id.
- **create_a_alchemer_survey** — Create a new survey in alchemer. Returns the created survey object including its id.
- **update_a_alchemer_survey_by_id** — Update an existing alchemer survey by id. Returns the updated survey object. Required: id.
- **delete_a_alchemer_survey_by_id** — Delete an alchemer survey by id. Returns an empty response on success. Required: id.
- **list_all_alchemer_survey_campaigns** — List all survey campaigns for an alchemer survey. Returns campaign objects associated with the specified survey. Required: survey_id.
- **get_single_alchemer_survey_campaign_by_id** — Get a single alchemer survey campaign by id. Returns the campaign object for the specified survey. Required: survey_id, id.
- **create_a_alchemer_survey_campaign** — Create a new campaign for an alchemer survey. Returns the created campaign object. Required: survey_id.
- **update_a_alchemer_survey_campaign_by_id** — Update an existing alchemer survey campaign by id. Returns the updated campaign object. Required: survey_id, id.
- **delete_a_alchemer_survey_campaign_by_id** — Delete an alchemer survey campaign by id. Returns an empty response on success. Required: survey_id, id.
- **list_all_alchemer_survey_contacts** — List alchemer survey contacts belonging to a specific survey campaign. Returns contact records for the campaign. Required: survey_id, campaign_id.
- **get_single_alchemer_survey_contact_by_id** — Get a single alchemer survey contact by id within a specific survey campaign. Returns the contact record for the given id. Required: survey_id, campaign_id, id.
- **create_a_alchemer_survey_contact** — Create a new contact in an alchemer survey campaign. Returns the created contact record. Required: survey_id, campaign_id.
- **update_a_alchemer_survey_contact_by_id** — Update an existing alchemer survey contact within a survey campaign. Returns the updated contact record. Required: survey_id, campaign_id, id.
- **delete_a_alchemer_survey_contact_by_id** — Delete an alchemer survey contact from a survey campaign by id. Returns an empty response on success. Required: survey_id, campaign_id, id.
- **list_all_alchemer_email_messages** — List all email messages belonging to a specific Alchemer survey campaign. Required: survey_id, campaign_id.
- **get_single_alchemer_email_message_by_id** — Get a single email message by id from an Alchemer survey campaign. Required: survey_id, campaign_id, id.
- **create_a_alchemer_email_message** — Create a new email message within an Alchemer survey campaign. Required: survey_id, campaign_id.
- **update_a_alchemer_email_message_by_id** — Update an existing email message by id within an Alchemer survey campaign. Required: survey_id, campaign_id, id.
- **delete_a_alchemer_email_message_by_id** — Delete an email message by id from an Alchemer survey campaign. Returns an empty 204 response on success. Required: survey_id, campaign_id, id.
- **list_all_alchemer_survey_pages** — List all pages in an alchemer survey. Returns the collection of survey page objects for the specified survey. Required: survey_id.
- **get_single_alchemer_survey_page_by_id** — Get a single alchemer survey page by id. Returns the survey page object for the specified page within the given survey. Required: survey_id, id.
- **create_a_alchemer_survey_page** — Create a new page in an alchemer survey. Returns the created survey page object. Required: survey_id.
- **update_a_alchemer_survey_page_by_id** — Update an existing alchemer survey page by id. Returns the updated survey page object. Required: survey_id, id.
- **delete_a_alchemer_survey_page_by_id** — Delete an alchemer survey page by id. Returns the result of the deletion operation. Required: survey_id, id.
- **list_all_alchemer_survey_questions** — List all survey questions for a given alchemer survey. Returns a collection of survey question objects. Required: survey_id.
- **get_single_alchemer_survey_question_by_id** — Get a single alchemer survey question by id from a specific survey page. Returns the question object. Required: survey_id, page_id, id.
- **create_a_alchemer_survey_question** — Create a new survey question on a specific alchemer survey page. Returns the created question object. Required: survey_id, page_id.
- **update_a_alchemer_survey_question_by_id** — Update an existing alchemer survey question by id on a specific survey page. Returns the updated question object. Required: survey_id, page_id, id.
- **delete_a_alchemer_survey_question_by_id** — Delete an alchemer survey question by id from a specific survey page. Returns an empty response on success. Required: survey_id, page_id, id.
- **list_all_alchemer_survey_options** — List all survey options for a specific question in an alchemer survey. Returns the collection of survey option objects for the given question. Required: survey_id, page_id, question_id.
- **get_single_alchemer_survey_option_by_id** — Get a single survey option by id for a specific question in an alchemer survey. Returns the survey option object. Required: survey_id, page_id, question_id, id.
- **create_a_alchemer_survey_option** — Create a new survey option for a specific question in an alchemer survey. Returns the created survey option object. Required: survey_id, page_id, question_id.
- **update_a_alchemer_survey_option_by_id** — Update an existing survey option by id for a specific question in an alchemer survey. Returns the updated survey option object. Required: survey_id, page_id, question_id, id.
- **delete_a_alchemer_survey_option_by_id** — Delete a survey option by id from a specific question in an alchemer survey. Returns an empty response on success. Required: survey_id, page_id, question_id, id.
- **list_all_alchemer_survey_responses** — List all survey responses for a given alchemer survey. Returns a collection of survey response objects. Required: survey_id.
- **get_single_alchemer_survey_response_by_id** — Get a single alchemer survey response by id. Returns the full survey response object. Required: survey_id and id.
- **create_a_alchemer_survey_response** — Create a new survey response in an alchemer survey. Returns the created survey response object. Required: survey_id.
- **update_a_alchemer_survey_response_by_id** — Update an existing alchemer survey response by id. Returns the updated survey response object. Required: survey_id and id.
- **delete_a_alchemer_survey_response_by_id** — Delete an alchemer survey response by id. Returns an empty response on success. Required: survey_id and id.
- **get_single_alchemer_survey_response_file_by_id** — Get a specific file attached to an alchemer survey response by its id. Returns file data from the response. Required: survey_id, response_id, id.
- **list_all_alchemer_survey_reports** — List all survey reports for an alchemer survey. Returns a collection of survey report objects. Required: survey_id.
- **get_single_alchemer_survey_report_by_id** — Get a single alchemer survey report by id. Returns the survey report object for the specified survey. Required: survey_id, id.
- **update_a_alchemer_survey_report_by_id** — Update an existing alchemer survey report by id. Returns the updated survey report object. Required: survey_id, id.
- **delete_a_alchemer_survey_report_by_id** — Delete an alchemer survey report by id. Returns an empty response on success. Required: survey_id, id.
- **list_all_alchemer_survey_statistics** — List statistics for an alchemer survey. Returns survey statistic records for the specified survey. Required: survey_id.
- **list_all_alchemer_survey_themes** — List all survey themes in alchemer. Returns an array of survey theme objects.
- **get_single_alchemer_survey_theme_by_id** — Get a single alchemer survey theme by id. Returns the survey theme object. Required: id.
- **create_a_alchemer_survey_theme** — Create a new survey theme in alchemer. Returns the created survey theme object including its id.
- **update_a_alchemer_survey_theme_by_id** — Update an existing alchemer survey theme by id. Returns the updated survey theme object. Required: id.
- **delete_a_alchemer_survey_theme_by_id** — Delete an alchemer survey theme by id. Returns an empty response on success. Required: id.
- **list_all_alchemer_quotas** — List all quotas for an Alchemer survey. Returns quota objects associated with the specified survey. Required: survey_id.
- **get_single_alchemer_quota_by_id** — Get a single Alchemer survey quota by id. Returns the quota object for the specified survey. Required: survey_id and id.
- **create_a_alchemer_quota** — Create a new quota for an Alchemer survey. Returns the created quota object. Required: survey_id.
- **update_a_alchemer_quota_by_id** — Update an existing quota for an Alchemer survey by id. Returns the updated quota object. Required: survey_id and id.
- **delete_a_alchemer_quota_by_id** — Delete an Alchemer survey quota by id. Returns an empty response on success. Required: survey_id and id.

## How it works

1. **Link your customer's Alchemer account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Alchemer.** The Proxy API is a 1-to-1 mapping of the Alchemer API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Trigger post-event surveys from your product** — Let your customers automatically enroll their end users into Alchemer campaigns when key events happen in your app — like ticket resolution, onboarding milestones, or feature usage — without your team rebuilding Alchemer's delivery, reminder, and branching logic.
- **Sync survey responses into customer records** — Pull Alchemer survey responses into your platform so CSAT, NPS, or feedback data lives alongside the customer profile, account, or ticket it belongs to. This powers health scoring, churn alerts, and CX dashboards inside your product.
- **Keep contact lists and rosters in sync** — Push your customers' user, employee, or contact lists into Alchemer Contact Lists with mapped custom fields. This keeps audiences current for recurring feedback programs without manual CSV uploads.
- **Expose survey structure for field mapping** — Read surveys, pages, questions, and options so your users can visually map Alchemer questions to fields in your product (e.g., 'map this NPS question to our health score field'). This makes the integration configurable without engineering involvement.
- **Stream survey data into analytics destinations** — If you're a BI, ETL, or data platform, ingest Alchemer's question schema and response rows into a warehouse so your customers can join survey sentiment with product usage, revenue, and support data.

## What you can build

- **Event-driven survey enrollment** — Add a contact to an active Alchemer survey campaign whenever a trigger fires in your product, letting Alchemer handle email/SMS delivery and reminders.
- **Response sync with field mapping UI** — Let users pick a survey, browse its pages and questions, and map each question to a field in your app — then continuously pull new responses against that mapping.
- **File attachment ingestion** — Retrieve files uploaded by survey respondents (screenshots, documents, recordings) and attach them to the matching record in your platform.
- **Contact list and custom field sync** — Create and update Alchemer contact lists, contacts, and contact custom fields from your product so your customers' audiences stay current for segmented campaigns.
- **Survey reporting widgets** — Surface Alchemer survey reports and statistics inside your product's dashboards so users see aggregate scores without leaving your app.
- **Team and user provisioning** — Manage Alchemer account users, teams, and team membership programmatically so admin actions in your product stay in sync with Alchemer access.

## FAQs

### How does authentication work for the Alchemer integration?

Truto handles the Alchemer auth flow on your behalf, so your end users connect their Alchemer account through a hosted flow without you managing API keys or token refresh. You call Truto's tools using a single connected-account identifier.

### Can we read the full structure of a survey, not just responses?

Yes. The integration exposes surveys, survey pages, survey questions, and survey options as separate resources, so you can build mapping UIs that let users target specific questions or answer choices.

### Can we download files that respondents upload to a survey?

Yes. Use get_single_alchemer_survey_response_file_by_id to securely retrieve files attached to a survey response, such as screenshots or supporting documents.

### How do we add a user to an existing Alchemer email campaign?

Use create_a_alchemer_survey_contact with the relevant survey and campaign identifiers. Alchemer then handles delivery, reminders, and branching logic configured by the marketer — you don't need to send the email yourself.

### Are custom contact fields supported?

Yes. You can list, create, update, and delete contact custom fields via the contact custom field tools, and set their values when creating or updating contacts inside contact lists.

### How fresh is the survey response data?

Truto fetches responses on demand via list_all_alchemer_survey_responses, so freshness depends on your polling cadence. You can paginate and filter to pull only new responses since your last sync.

### Can we get aggregated metrics without processing raw responses?

Yes. The integration supports survey reports and survey statistics endpoints, which return higher-level aggregates suitable for dashboards without computing them from raw response data.

## Related reading

- [Connect Alchemer to ChatGPT: Design Surveys and Extract Insights via MCP](https://truto.one/blog/connect-alchemer-to-chatgpt-design-surveys-and-extract-insights/) — Learn how to connect Alchemer to ChatGPT using a managed MCP server. Automate survey design, extract response insights, and bypass complex API boilerplate.
- [Connect Alchemer to Claude: Administer Teams & Contact Directories](https://truto.one/blog/connect-alchemer-to-claude-administer-teams-and-contact-directories/) — Learn how to connect Alchemer to Claude using a managed MCP server. Automate team administration, contact directories, and survey deployment directly from Claude.
- [Connect Alchemer to AI Agents: Deploy Campaigns and Generate Reports](https://truto.one/blog/connect-alchemer-to-ai-agents-deploy-campaigns-and-generate-reports/) — Learn how to connect Alchemer to AI agents using Truto's proxy tools. Build autonomous workflows to deploy survey campaigns and generate analytical reports.
