# Aampe Docs > Explore our knowledge base to learn how to set up, use, and manage Aampe successfully ## Docs - [Aampe API Guide](https://kb.aampe.com/api-guide/api-guide.md) - [API Keys](https://kb.aampe.com/api-guide/api-keys.md): Where can I find my API keys? - [Authentication](https://kb.aampe.com/api-guide/authentication.md) - [Authentication](https://kb.aampe.com/api-guide/composer-api/authentication.md): How to obtain and use an API key to authenticate with the Aampe Composer API. - [Create a Formula](https://kb.aampe.com/api-guide/composer-api/formulas/create-formula.md): Complete guide to creating a formula with labeled alternates using the Composer API. - [Concepts and System Objects](https://kb.aampe.com/api-guide/composer-api/formulas/overview.md): What formulas are and how they map to the messages you see in Composer. - [Update a Formula](https://kb.aampe.com/api-guide/composer-api/formulas/update-formula.md): Learn how to update the settings and content of an existing formula. - [Manage Labels](https://kb.aampe.com/api-guide/composer-api/labels/manage-labels.md): How to list, create, and use labels with the Composer API. - [Labels](https://kb.aampe.com/api-guide/composer-api/labels/overview.md): What labels are and how they classify variants in Composer. - [Multilanguage Formulas](https://kb.aampe.com/api-guide/composer-api/languages/multilanguage.md): How to create formulas with content in multiple languages. - [Aampe Events Ingestion](https://kb.aampe.com/api-reference/aampe-events-ingestion.md): Handle an event coming from an Aampe Webhook. - [Aampe Property Update](https://kb.aampe.com/api-reference/aampe-property-update.md): Handle property updates coming from Aampe identify calls. Expects data in the exact format needed for publishing. - [Get surface content](https://kb.aampe.com/api-reference/surface/get-surface-content.md): Returns one result per surface that could be resolved, in the same order as requested. Surfaces that cannot be resolved are omitted from the list. - [Aampe Data Share](https://kb.aampe.com/developer-guide/aampe-data/data-share-overview.md): Make Aampe data part of your data science toolkit - [Table Descriptions](https://kb.aampe.com/developer-guide/aampe-data/data_share_tables.md): See details on the Aampe datasets - [Recommender System](https://kb.aampe.com/developer-guide/cms-integration/recommender-systems.md): A combination of user behavior data with catalog information to deliver personalized product recommendations. - [Data Security and Privacy](https://kb.aampe.com/developer-guide/data-ingest/data-ingest-help/data-security-and-privacy.md) - [How Often Should We Send Data to Aampe?](https://kb.aampe.com/developer-guide/data-ingest/data-ingest-help/how-often-data-sync.md): Is once a day enough? Do things need to update in real time? - [What Events Should We Send To Aampe?](https://kb.aampe.com/developer-guide/data-ingest/data-ingest-help/what-events-should-i-send-to-aampe.md): Timestamps! We love timestamps! - [Sending Data to Aampe](https://kb.aampe.com/developer-guide/data-ingest/data-integrations.md): See the following guides for instructions on how to send data to Aampe - [Aampe Data Management](https://kb.aampe.com/developer-guide/data-ingest/data-management.md): Aampe Data Management Practices - [Aampe Data Model](https://kb.aampe.com/developer-guide/data-ingest/data-model.md): To start with Aampe, you need to send Aampe two datasets - [Amplitude (Batch)](https://kb.aampe.com/developer-guide/data-ingest/data-sources/amplitude-batch.md): Estimated setup time: 30 minutes - [Amplitude (Cohort Sync)](https://kb.aampe.com/developer-guide/data-ingest/data-sources/amplitude-cohort.md): Estimated setup time: 1 hour - [Amplitude (Streaming)](https://kb.aampe.com/developer-guide/data-ingest/data-sources/amplitude-streaming.md): Estimated setup time: 30 minutes - [CleverTap](https://kb.aampe.com/developer-guide/data-ingest/data-sources/clevertap.md): Estimated setup time: 15 minutes - [AWS S3](https://kb.aampe.com/developer-guide/data-ingest/data-sources/cloud-storage-aws-s3.md): Estimated setup time: 1 hour - [Cloud Storage Aws S3 Aampe Owned](https://kb.aampe.com/developer-guide/data-ingest/data-sources/cloud-storage-aws-s3-aampe-owned.md): Estimated setup time: 1 hour - [Cloud Storage Aws S3 Customer Owned](https://kb.aampe.com/developer-guide/data-ingest/data-sources/cloud-storage-aws-s3-customer-owned.md): Estimated setup time: 1 hour - [Google Cloud Storage](https://kb.aampe.com/developer-guide/data-ingest/data-sources/cloud-storage-gcs.md): Estimated setup time: 30 minutes - [BigQuery (Google)](https://kb.aampe.com/developer-guide/data-ingest/data-sources/data-warehouse-bigquery.md): Estimated setup time: 30 minutes - [Databricks](https://kb.aampe.com/developer-guide/data-ingest/data-sources/data-warehouse-databricks.md): Estimated setup time: 1 hour - [AWS Redshift](https://kb.aampe.com/developer-guide/data-ingest/data-sources/data-warehouse-redshift.md): Estimated setup time: 30 minutes - [Snowflake Integration](https://kb.aampe.com/developer-guide/data-ingest/data-sources/data-warehouse-snowflake.md): Estimated setup time: 1 hour - [AWS Aurora](https://kb.aampe.com/developer-guide/data-ingest/data-sources/database-aws-aurora.md): Instruction to connect Aampe to your Aurora instance - [AWS RDS](https://kb.aampe.com/developer-guide/data-ingest/data-sources/database-aws-rds.md): Estimated setup time: 1 hour - [Spanner (Google)](https://kb.aampe.com/developer-guide/data-ingest/data-sources/database-spanner.md): Estimated setup time: 1 hour - [Firebase](https://kb.aampe.com/developer-guide/data-ingest/data-sources/firebase.md): Estimated setup time: 40 minutes - [Mixpanel](https://kb.aampe.com/developer-guide/data-ingest/data-sources/mixpanel.md): Estimated setup time: 15 minutes - [Segment](https://kb.aampe.com/developer-guide/data-ingest/data-sources/segment.md): Estimated setup time: 15 minutes - [SFTP](https://kb.aampe.com/developer-guide/data-ingest/data-sources/sftp.md): Estimated setup time: 1 day - [Aampe Streaming API](https://kb.aampe.com/developer-guide/data-ingest/data-sources/streaming-aampe-api.md): Estimated setup time: 1 hour - [Event Properties](https://kb.aampe.com/developer-guide/data-ingest/event-properties.md): Learn how to structure and implement event properties for Aampe - [Data sync and rate limits](https://kb.aampe.com/developer-guide/data-ingest/rate-limits.md): Aampe Data Sync & Rate Limits - [User Events sample data](https://kb.aampe.com/developer-guide/data-ingest/user-events-sample-data.md): A set of dummy events of several industries which help understand the Aampe data model - [User Attributes](https://kb.aampe.com/developer-guide/data-ingest/user-properties.md): Learn how to structure and implement user attributes for Aampe - [Developer Guide](https://kb.aampe.com/developer-guide/developer-guide.md): Explore our integration guides and examples - [Integrations](https://kb.aampe.com/developer-guide/integrations.md): What kind of integration would you like to set up today? - [Adobe Campaign Classic Integration](https://kb.aampe.com/developer-guide/message-providers/message-pages/adobe-campaign-classic.md): Connect Aampe to Adobe Campaign Classic Message Center for Email and Push notifications - [Adobe Campaign Standard Integration](https://kb.aampe.com/developer-guide/message-providers/message-pages/adobe-campaign-standard.md): Connect Aampe to Adobe Campaign Standard for Email and Push notifications - [Airship](https://kb.aampe.com/developer-guide/message-providers/message-pages/airship.md): Estimated setup time: 15 minutes - [Apple Push Notification service (APNs)](https://kb.aampe.com/developer-guide/message-providers/message-pages/apns.md): Estimated setup time: 1 hour - [AWS SNS Integration](https://kb.aampe.com/developer-guide/message-providers/message-pages/aws-sns.md): Estimated setup time: 1 hour - [Braze](https://kb.aampe.com/developer-guide/message-providers/message-pages/braze.md): Estimated setup time: 30 minutes - [CleverTap](https://kb.aampe.com/developer-guide/message-providers/message-pages/clevertap.md): Estimated setup time: 10 minutes - [Custom API](https://kb.aampe.com/developer-guide/message-providers/message-pages/custom-api.md): Aampe guidelines for all the one-of-a-kind message providers - [Customer.io](https://kb.aampe.com/developer-guide/message-providers/message-pages/customerio.md): Estimated setup time: 15 minutes - [Emarsys Integration](https://kb.aampe.com/developer-guide/message-providers/message-pages/emarsys.md): Estimated setup time: 30 minutes - [Firebase Cloud Messaging](https://kb.aampe.com/developer-guide/message-providers/message-pages/firebase-cloud.md): Estimated setup time: 1 hour - [Iterable](https://kb.aampe.com/developer-guide/message-providers/message-pages/iterable.md): Estimated setup time: 10 minutes - [Leanplum](https://kb.aampe.com/developer-guide/message-providers/message-pages/leanplum.md): Estimated setup time: 15 minutes - [MailChimp](https://kb.aampe.com/developer-guide/message-providers/message-pages/mailchimp.md): Estimated setup time: 15 minutes - [Mandrill](https://kb.aampe.com/developer-guide/message-providers/message-pages/mandrill.md): Estimated setup time: 15 minutes - [MoEngage](https://kb.aampe.com/developer-guide/message-providers/message-pages/moengage.md): Estimated setup time: 15 minutes - [Netcore](https://kb.aampe.com/developer-guide/message-providers/message-pages/netcore.md): Estimated setup time: 10 minutes - [OneSignal](https://kb.aampe.com/developer-guide/message-providers/message-pages/onesignal.md): Estimated setup time: 15 minutes - [Sendgrid (Twilio)](https://kb.aampe.com/developer-guide/message-providers/message-pages/sendgrid.md): Estimated setup time: 15 minutes - [Salesforce Marketing Cloud (SFMC)](https://kb.aampe.com/developer-guide/message-providers/message-pages/sfmc.md): Estimated setup time: 30 minutes - [Twilio](https://kb.aampe.com/developer-guide/message-providers/message-pages/twilio.md): Estimated setup time: 15 minutes - [WebEngage](https://kb.aampe.com/developer-guide/message-providers/message-pages/webengage.md): Estimated setup time: 15 minutes - [Message Delivery Partners](https://kb.aampe.com/developer-guide/message-providers/message-providers.md): Aampe supports the following message delivery partners for each of the following channels - [Setting up Single Sign-On (SSO)](https://kb.aampe.com/developer-guide/sso/setting-up-sso.md) - [Auth0 SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_auth0.md): Here we will show you how to set up your own custom SAML application for Auth0 SAML - [Google SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_google.md): In this section, we will show you how to set up your own custom SAML application for Google SAML - [JumpCloud SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_jumpcloud.md): Here we will show you how to set up your own custom SAML application for JumpCloud SAML - [Microsoft Entra ID (formerly Azure AD) SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_microsoft_entra_id.md): Here we show you how to set up your own custom SAML application for Microsoft Entra ID SAML - [Okta SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_okta.md): Here we will show you how to set up your own custom SAML application for Okta SAML - [OneLogin SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_onelogin.md): Here we will show you how to set up your own custom SAML application for OneLogin SAML - [Open ID Connect (OIDC)](https://kb.aampe.com/developer-guide/sso/sso_openid_connect.md): Here we outline how to set up SSO via OIDC - [PingOne SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_pingone.md): Here we will show you how to set up your own custom SAML application for PingOne SAML - [Rippling SAML SSO](https://kb.aampe.com/developer-guide/sso/sso_rippling.md): Here we will show you how to set up your own custom SAML application for Rippling SAML - [Deploy a Surface into an App or Website](https://kb.aampe.com/developer-guide/surfaces/surfaces-embed.md): To go live with Surfaces, just call the Surfaces API from within your application. - [Surface Integration Details](https://kb.aampe.com/developer-guide/surfaces/surfaces-embed-advanced.md): Multi-region deployments, fallbacks, latency, and more - [Frequently Asked Questions (FAQs)](https://kb.aampe.com/help/faqs.md) - [Aampe Glossary](https://kb.aampe.com/help/glossary.md): Lots of funny new words when working with agentic infrastructure - [Aampe Documentation](https://kb.aampe.com/index.md): Explore our knowledge base to learn how to set up, use, and manage Aampe successfully - [Aampe App Library](https://kb.aampe.com/tools/aampe-app-library.md): The place to try out new Aampe features before they are generally - [AamPT](https://kb.aampe.com/tools/aampt.md): Your always-ready Aampe LLM - [Aampe Surface Creator](https://kb.aampe.com/tools/figma-plugin.md): Connect Aampe with all your creative assets in Figma - [Power Analysis Calculator](https://kb.aampe.com/tools/power-analysis-calculator.md): How big does this holdout group need to be? - [Release Notes](https://kb.aampe.com/updates/release-notes.md): Stay up to date with important changes. - [Analytics Overview](https://kb.aampe.com/user-guide/how-do-i-know/analytics/analytics-overview.md): Measure and optimize your content strategy - [Composer Analytics](https://kb.aampe.com/user-guide/how-do-i-know/analytics/composer-analytics.md): Let's take a tour of the reporting available within the Aampe composer. - [What Kinds of Experiments Work in Aampe?](https://kb.aampe.com/user-guide/how-do-i-know/experiments/experiment-overview.md): 1:1 personalization breaks message-level measurement - [How to Set Up an Experiment in Aampe](https://kb.aampe.com/user-guide/how-do-i-know/experiments/holdout-part2.md): A practical example - [Measuring Results of an Aampe Experiment](https://kb.aampe.com/user-guide/how-do-i-know/experiments/holdout-part3.md): We're in familiar A/B testing territory now - [Common Problems with Experimentation](https://kb.aampe.com/user-guide/how-do-i-know/experiments/holdout-part4.md): Turns out running a clean experiment is a hard thing to do - [Will My Early Test Results Scale?](https://kb.aampe.com/user-guide/how-do-i-know/experiments/will-results-scale.md): Possibly yes. If not, here's why. - [Content Coverage](https://kb.aampe.com/user-guide/managing-agents-strategically/content-coverage.md): Curious about how your Labels are spread across Message groups? This view will show you gaps and opportunities to add more content - [Experimentation in the World of Agentic Personalization](https://kb.aampe.com/user-guide/managing-agents-strategically/experiment-overview.md): How does experimentation change when every experience is personalized? - [Label Weights](https://kb.aampe.com/user-guide/managing-agents-strategically/label-weights.md): Influence your agents by changing label weights - [Topics](https://kb.aampe.com/user-guide/managing-agents-strategically/topics.md): Stay organized while enjoying a strategic overview of your content - [Working With Agents](https://kb.aampe.com/user-guide/managing-agents-strategically/working-with-agents.md): Content is live. Now what? - [User Guide](https://kb.aampe.com/user-guide/user-guide.md): Resources for CRM and product professionals, Aampe administrators, analysts, etc. - [Agent-User Allocation](https://kb.aampe.com/user-guide/using-aampe/admin/agent-user-allocation.md): For customers with a limited number of agents - [Event Funnel](https://kb.aampe.com/user-guide/using-aampe/admin/define-funnel-events.md): Funnel event classification will keep all those charts nice and tidy - [Event Types](https://kb.aampe.com/user-guide/using-aampe/admin/event-types.md): Which events are good? Which events are bad? You be the judge! - [Frequency](https://kb.aampe.com/user-guide/using-aampe/admin/frequency-limits.md): How many messages are too many? - [Managing Content in Multiple Languages](https://kb.aampe.com/user-guide/using-aampe/admin/languages.md): Fun fact - there are over 7,000 living languages spoken around the world today - [Account and User Management](https://kb.aampe.com/user-guide/using-aampe/admin/users-and-roles.md): Add users and manage roles - [Audiences](https://kb.aampe.com/user-guide/using-aampe/audiences/audiences.md): Audiences define which users are eligible for which messages - [Message Triggers](https://kb.aampe.com/user-guide/using-aampe/audiences/triggers.md) - [Creating Custom Components](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/custom-components.md): Sometimes you want something other than 'other' - [Email Best Practices for Agent Learning](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/email/best-practices.md) - [Create an Email Message](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/email/create-email.md): Personalization is so much more than 'hello {first-name}' - [Create an Email Message](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/email/create-email-in-aampe.md): Personalization is so much more than 'hello {first-name}' - [Using the Email Config App](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/email/using-the-email-config-app.md) - [Personalizing Messages with User Attributes](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/personalization.md): Use dynamic placeholders to personalize message content with real user data - [Action Buttons](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/push/action-buttons.md) - [Create a Push Notification](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/push/create-push.md): Thousands of live messages in as little as 15 minutes - [Send a Test Message](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/push/send-test-message.md): Because we'd rather not send a million messages with typos - [Scheduling](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/scheduling.md) - [Create an SMS Message](https://kb.aampe.com/user-guide/using-aampe/messages-by-channel/sms/create-sms.md): Highly personalized content and timing via SMS - [Creating the Surface](https://kb.aampe.com/user-guide/using-aampe/product-surfaces/surfaces-composer.md): Creating an Aampe Surface results in an API that can power a personalized frontend experience. - [Preparing Content for Surfaces](https://kb.aampe.com/user-guide/using-aampe/product-surfaces/surfaces-content.md): If code renders the element on your screen, Surfaces can personalize it - [Aampe Quickstart Guide](https://kb.aampe.com/user-guide/using-aampe/quickstart/overview.md) - [Create an Audience](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-audiences.md): Audiences connect groups of users with groups of potential messages - [Connect CMS Data](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-cms.md): Insert dynamic product, content, or service information directly into your Aampe messages - [Connecting Aampe to a Data Source](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-datafeed.md): Aampe needs user and event data - [Organize Event Feed](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-events.md): Funnel events tell Aampe which user actions matter most for your business. - [Message Creation](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-messages.md): It's go time! - [Connect Aampe to Your Messaging Tools](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-messaging-tools.md): Aampe doesn't replace your current setup—it makes it smarter - [Reward Functions](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-reward-functions.md): How do we define success for a given message? - [Sign In to Aampe](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-signin.md): This will be a day to remember! - [Surfaces](https://kb.aampe.com/user-guide/using-aampe/quickstart/quickstart-surfaces.md): Surfaces bring agentic infrastructure directly to your app or website. - [Copy & Paste from Google Sheets](https://kb.aampe.com/user-guide/using-aampe/tips-and-tricks/copy-paste.md): Seamlessly transfer content from Sheets into Aampe - [Bulk Content Management with Datasets](https://kb.aampe.com/user-guide/using-aampe/tips-and-tricks/datasets.md): When dealing with a large number of message inputs, save time with an Aampe dataset - [Syncing Labels for Repeating Components](https://kb.aampe.com/user-guide/using-aampe/tips-and-tricks/label-locking.md): Ensuring labels remain in sync when components repeat in a message - [Create Variety by Rearranging Components](https://kb.aampe.com/user-guide/using-aampe/tips-and-tricks/rearrange-components.md): Quickly create variations of the same message without changing copy - [Why Aampe Agents Learn from Events, Not Attributes](https://kb.aampe.com/user-guide/welcome-to-aampe/how-does-aampe-work/agent-help/events-vs-attributes.md): Causation vs correlation - [Aampe Agents: One Model Per User](https://kb.aampe.com/user-guide/welcome-to-aampe/how-does-aampe-work/agents.md): Once your content is live with Aampe, your agents begin a continuous cycle of learning. - [Components and Labels](https://kb.aampe.com/user-guide/welcome-to-aampe/how-does-aampe-work/component_and_labels.md): The building blocks for Aampe content - [Building a Content Catalog](https://kb.aampe.com/user-guide/welcome-to-aampe/how-does-aampe-work/content_catalog.md) - [Explore vs Exploit](https://kb.aampe.com/user-guide/welcome-to-aampe/how-does-aampe-work/explore-exploit.md): How Aampe Agents Balance Learning and Performance - [How Labels Work](https://kb.aampe.com/user-guide/welcome-to-aampe/how-does-aampe-work/labels.md): Abstracting messages into learnable concepts - [What is Aampe?](https://kb.aampe.com/user-guide/welcome-to-aampe/what-is-aampe/what-is-aampe.md): How do you support an entire workforce of agents? Agentic infrastructure. - [What is Agentic Infrastructure?](https://kb.aampe.com/user-guide/welcome-to-aampe/what-is-aampe/what-is-agentic-infrastructure.md): Tools to effectively support millions of agents - [Who is Aampe for?](https://kb.aampe.com/user-guide/welcome-to-aampe/what-is-aampe/who-is-aampe-for.md): Aampe serves teams seeking true personalization at scale. ## OpenAPI Specs - [test-openapi](https://kb.aampe.com/api-guide/test-openapi.json) - [ingestion-openapi](https://kb.aampe.com/api-guide/ingestion-openapi.json) - [content-openapi](https://kb.aampe.com/api-guide/content-openapi.json) - [ingest-openapi](https://kb.aampe.com/api-guide/ingest-openapi.json) - [openapi](https://kb.aampe.com/api-reference/openapi.json)