{"version":1,"pages":[{"id":"-LhChEVX3lGd61fAAiGB","title":"Resource map","pathname":"/functionality-reference","siteSpaceId":"sitesp_Gu6uC","description":"A summary of the resources below"},{"id":"-MDaXZ83A5w6wH6ZYOH1","title":"Apple Music","pathname":"/functionality-reference/resources/apple-music","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"OZd5Gp3N6l8AV6DikAzL","title":"Auth0","pathname":"/functionality-reference/resources/auth0","siteSpaceId":"sitesp_Gu6uC","description":"Auth0 provides authentication and authorization as a service.","breadcrumbs":[{"label":"Resources"}]},{"id":"-Lq7XdhVWHgJtRZkdA6G","title":"Auth0 - API connector's OAuth2 User-Agent Flow.","pathname":"/functionality-reference/resources/auth0/auth0","siteSpaceId":"sitesp_Gu6uC","description":"Auth0 provides authentication and authorization as a service.","breadcrumbs":[{"label":"Resources"},{"label":"Auth0"}]},{"id":"gBEVHpDYW5DKVwjsbanY","title":"Auth0 - Manual implementation","pathname":"/functionality-reference/resources/auth0/auth0-manual-implementation","siteSpaceId":"sitesp_Gu6uC","description":"Auth0 provides authentication and authorization as a service.","breadcrumbs":[{"label":"Resources"},{"label":"Auth0"}]},{"id":"-M7PUmE9GEDdQcZPsgw4","title":"Azure AD SSO","pathname":"/functionality-reference/resources/azure-ad-sso","siteSpaceId":"sitesp_Gu6uC","description":"Azure Active Directory Single Sign On","breadcrumbs":[{"label":"Resources"}]},{"id":"kOmPF1l4GQwQ0A8tO3GX","title":"Best practices building Bubble.io apps","pathname":"/functionality-reference/resources/best-practices-building-bubble.io-apps","siteSpaceId":"sitesp_Gu6uC","description":"Best practices about Data, Workflows, Elements and Backend workflows.","breadcrumbs":[{"label":"Resources"}]},{"id":"cYlgBmVV9p5It6seUd1L","title":"Best practices - Test recommendations for devs","pathname":"/functionality-reference/resources/best-practices-test-recommendations-for-devs","siteSpaceId":"sitesp_Gu6uC","description":"Guidance for devs on how to test their Bubble.io application.","breadcrumbs":[{"label":"Resources"}]},{"id":"-LntSOjDFhBhV6kD7qq2","title":"Bitly","pathname":"/functionality-reference/resources/bitly","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-M7Fga0fbw7SEq2MAzs3","title":"Bottomline BACS payments","pathname":"/functionality-reference/resources/bottomline-bacs-payments","siteSpaceId":"sitesp_Gu6uC","description":"ACH bank transfers for the UK","breadcrumbs":[{"label":"Resources"}]},{"id":"CeOJTYwsK0Qu9hy19fr9","title":"Bubble API - Authentication","pathname":"/functionality-reference/resources/bubble-api-authentication","siteSpaceId":"sitesp_Gu6uC","description":"Authenticating users when using the Bubble API","breadcrumbs":[{"label":"Resources"}]},{"id":"Xh7AqaKGIBV3GbGRyBtw","title":"Bubble API Connector","pathname":"/functionality-reference/resources/bubble-api-connector","siteSpaceId":"sitesp_Gu6uC","description":"API Connector Reference Guide","breadcrumbs":[{"label":"Resources"}]},{"id":"-MVS_bqoIcxFazq6MAra","title":"Check if address is within custom defined area on Map","pathname":"/functionality-reference/resources/check-if-address-is-within-custom-defined-area-on-map","siteSpaceId":"sitesp_Gu6uC","description":"How to set up and use custom delivery areas using the Maps Javascript API from Google","breadcrumbs":[{"label":"Resources"}]},{"id":"-M54zVO5YECAZLqRaRdH","title":"Chrome Devtools","pathname":"/functionality-reference/resources/performance-and-privacy-rules-testing-with-chrome-devtools","siteSpaceId":"sitesp_Gu6uC","description":"Testing performance and privacy rules with Chrome Devtools","breadcrumbs":[{"label":"Resources"}]},{"id":"b42jGsHDOAzWFfuBHoUH","title":"Click a button by pressing Enter","pathname":"/functionality-reference/resources/click-a-button-by-pressing-enter","siteSpaceId":"sitesp_Gu6uC","description":"How to trigger a click button pressing enter from an input using javascript","breadcrumbs":[{"label":"Resources"}]},{"id":"dLhwdGMcD0ayEJI2YtGj","title":"Credit Card Payments","pathname":"/functionality-reference/resources/credit-card-payments","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MWkYuOuIefS4-JYwUz5","title":"Square","pathname":"/functionality-reference/resources/credit-card-payments/square","siteSpaceId":"sitesp_Gu6uC","description":"Accepting payments using the Square Web Payments SDK plugin","breadcrumbs":[{"label":"Resources"},{"label":"Credit Card Payments"}]},{"id":"-LhlyCtXUSuzPzngHDvG","title":"Stripe Plugin","pathname":"/functionality-reference/resources/credit-card-payments/stripe","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Credit Card Payments"}]},{"id":"K3h1BHK88qhGVoiKqkJ4","title":"Stripe Manual Integration","pathname":"/functionality-reference/resources/credit-card-payments/stripe-manual-integration","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Credit Card Payments"}]},{"id":"-M0YWA4AbNxyoE0-bPXS","title":"Date/Time Operations","pathname":"/functionality-reference/resources/date-time-operations","siteSpaceId":"sitesp_Gu6uC","description":"In case you need to display how long ago","breadcrumbs":[{"label":"Resources"}]},{"id":"-LhChKRSoRhcaJomTB7Q","title":"Dwolla + Plaid ACH","pathname":"/functionality-reference/resources/dwolla-and-plaid-guide","siteSpaceId":"sitesp_Gu6uC","description":"This guide walks you through how to set up ACH payments using Dwolla with instant bank account verification using Plaid.","breadcrumbs":[{"label":"Resources"}]},{"id":"-LzrF6EyJ56o-o8Xp15Z","title":"Editor.js rich text editor","pathname":"/functionality-reference/resources/editor.js-rich-text","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"4R4VZGrxaDgosZ8b7VOR","title":"Embedding a pdf preventing the user from downloading it","pathname":"/functionality-reference/resources/embedding-a-pdf-preventing-the-user-from-downloading-it","siteSpaceId":"sitesp_Gu6uC","breadcrumbs":[{"label":"Resources"}]},{"id":"-M59Vv0Smt-7v59rWxFB","title":"Excel formula parser","pathname":"/functionality-reference/resources/excel-formula-parser","siteSpaceId":"sitesp_Gu6uC","description":"Use our plugin to evaluate Excel formulas and get the result as a number","breadcrumbs":[{"label":"Resources"}]},{"id":"-McyuEUogr05HwC6yBeY","title":"Exporting data (xlsx, CSV)","pathname":"/functionality-reference/resources/exporting-data-xlsx-csv","siteSpaceId":"sitesp_Gu6uC","description":"Learn more advanced ways to export data to spreadsheets","breadcrumbs":[{"label":"Resources"}]},{"id":"-MRLJlgJnt1ae4qFg0BU","title":"Documents & eSignatures","pathname":"/functionality-reference/resources/documents-and-esignatures","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MRLIZgslQ_kz4xHxgvS","title":"Eversign","pathname":"/functionality-reference/resources/documents-and-esignatures/eversign","siteSpaceId":"sitesp_Gu6uC","description":"This is the preferred service for managing eSignatures.","breadcrumbs":[{"label":"Resources"},{"label":"Documents & eSignatures"}]},{"id":"-M0IoLcXFopENU9cPW0w","title":"Formstack  (formerly Webmerge)","pathname":"/functionality-reference/resources/documents-and-esignatures/formstack-formerly-webmerge","siteSpaceId":"sitesp_Gu6uC","description":"Formstack Documents allows you to create any type of document with ease.","breadcrumbs":[{"label":"Resources"},{"label":"Documents & eSignatures"}]},{"id":"-M45BAw3hmOMisSmEalK","title":"Hellosign","pathname":"/functionality-reference/resources/documents-and-esignatures/hellosign","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Documents & eSignatures"}]},{"id":"-M6gExUWrREbfA9ChZkY","title":"FFMPEG audio processing","pathname":"/functionality-reference/resources/ffmpeg-audio-processing","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MB0Piohq5yPo4tf66o5","title":"First Payment Merchant Services","pathname":"/functionality-reference/resources/first-payment-merchant-services","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"hY4aM0I5m38eiKFrtepA","title":"Fuzzy Search","pathname":"/functionality-reference/resources/fuzzy-search","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-M3SQIv17OB1Rr7bEPNq","title":"Google","pathname":"/functionality-reference/resources/google","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-M3SQP9pceZp1LnMSk2D","title":"Authentication","pathname":"/functionality-reference/resources/google/authentication","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"Yi2EQrHF6NfaPi93xEZw","title":"GA4 Basic implementation","pathname":"/functionality-reference/resources/google/ga4-basic-implementation","siteSpaceId":"sitesp_Gu6uC","description":"How to implement Google Analytics in your Bubble app","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"-M3SSazsQEeJ32VVmcaQ","title":"Google Analytics","pathname":"/functionality-reference/resources/google/google-analytics","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"-MKAPaa_nXvNz_vXwaUb","title":"Google Calendar","pathname":"/functionality-reference/resources/google/google-calendar","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"-MUFdHrXbAaCyGMRVwRC","title":"Google Charts","pathname":"/functionality-reference/resources/google/google-charts","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"-M0Z-qogIIgJHiDM7-dQ","title":"Google Maps Drawing","pathname":"/functionality-reference/resources/google/google-maps-drawing","siteSpaceId":"sitesp_Gu6uC","description":"Draw on a map and export it as an image","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"-MYl7bWAZkWHpQJAiNwC","title":"Google maps geometry - plugin","pathname":"/functionality-reference/resources/google/google-maps-geometry-plugin","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"-MKAOQppqSbyLf3T6TIT","title":"Service Account Authentication","pathname":"/functionality-reference/resources/google/service-account-authentication","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Google"}]},{"id":"q0NCOXh6KHOBhFsftypn","title":"How to build quick & safe redirects in Bubble","pathname":"/functionality-reference/resources/how-to-build-quick-and-safe-redirects-in-bubble","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"26z83019cM6xlyco9KcZ","title":"How to correctly use the ID attribute","pathname":"/functionality-reference/resources/how-to-correctly-use-the-id-attribute","siteSpaceId":"sitesp_Gu6uC","description":"Implementation example: how to use the id to get inputs tab order implementation working","breadcrumbs":[{"label":"Resources"}]},{"id":"6tkSMz8Lm70JN8NeNo8s","title":"How to secure webhooks","pathname":"/functionality-reference/resources/how-to-secure-webhooks","siteSpaceId":"sitesp_Gu6uC","description":"How to secure webhooks using different methods","breadcrumbs":[{"label":"Resources"}]},{"id":"-M0tubR_HU8F8jT6t_Y4","title":"Images with text overlays","pathname":"/functionality-reference/resources/generating-images-with-text-overlays","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"lusWSLX3owH5YFP1tByH","title":"Limit file types in the File Uploader","pathname":"/functionality-reference/resources/limit-file-types-in-the-file-uploader","siteSpaceId":"sitesp_Gu6uC","description":"How to limit the allowed file types that a user can upload using the FileUploader element","breadcrumbs":[{"label":"Resources"}]},{"id":"rm3oj5vrCVcbPeHQraOb","title":"Loading large linked datasets into Bubble","pathname":"/functionality-reference/resources/loading-large-linked-datasets-into-bubble","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MOE4HqV_93NKgjktTE9","title":"Localize Translations","pathname":"/functionality-reference/resources/localize-translations","siteSpaceId":"sitesp_Gu6uC","description":"How to offer clients multi-language controls over their app","breadcrumbs":[{"label":"Resources"}]},{"id":"-M2ER0jZmXiIH71xJZql","title":"Mobile share functionality","pathname":"/functionality-reference/resources/mobile-share-functionality","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-M8TXjujhum2jHda7uB_","title":"Nylas","pathname":"/functionality-reference/resources/nylas","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"XywlxnLJP1YuyqmROaaV","title":"OpenAI","pathname":"/functionality-reference/resources/openai","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"VSYDQPcU18QFgdYSD4dp","title":"Paguelo Facil payments","pathname":"/functionality-reference/resources/paguelo-facil-payments","siteSpaceId":"sitesp_Gu6uC","description":"Learn how to integrate Paguelo Facil into your Bubble app with a step-by-step process. This guide also offers practical tips and best practices.","breadcrumbs":[{"label":"Resources"}]},{"id":"Ia6JbmCf8s9YXBCYW7HY","title":"PDF generation","pathname":"/functionality-reference/resources/pdf-generation","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-LxLg6fie4yGzKpoXKfd","title":"Perfect Tense (grammar checker)","pathname":"/functionality-reference/resources/perfect-tense-grammar-check","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"McHhUuSh0GTcuCwqd4A8","title":"Performance testing","pathname":"/functionality-reference/resources/performance-testing","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"tszFz0slDrBlqfJ5fkjF","title":"Page speed benchmarking","pathname":"/functionality-reference/resources/performance-testing/page-speed-benchmarking","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Performance testing"}]},{"id":"Nja0bdiaJ2qoVyr798a6","title":"App load testing with Loadster","pathname":"/functionality-reference/resources/performance-testing/app-load-testing-with-loadster","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Performance testing"}]},{"id":"-LzrFAp1qeG6chEViqs2","title":"Persona ID verification","pathname":"/functionality-reference/resources/persona-id-verification","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-Ll7XwllsPmd2eB140kP","title":"Plaid","pathname":"/functionality-reference/resources/plaid","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MCChGCAPPW07x46LdOa","title":"POST response redirects","pathname":"/functionality-reference/resources/post-response-redirects","siteSpaceId":"sitesp_Gu6uC","description":"Useful for plugin building and/or working with old APIs","breadcrumbs":[{"label":"Resources"}]},{"id":"-MTmhe-QY9no1KnHjC1B","title":"Postmark (coming soon)","pathname":"/functionality-reference/resources/postmark-coming-soon","siteSpaceId":"sitesp_Gu6uC","description":"Plugin under development","breadcrumbs":[{"label":"Resources"}]},{"id":"-Ll9N9EKlYVt-a5PrGSS","title":"QR codes","pathname":"/functionality-reference/resources/generating-a-qr-code","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"9bb4rZXCz1sewBl71nca","title":"Rappid flowchart","pathname":"/functionality-reference/resources/rappid-flowchart","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"6EYgFqtGyyUsXLh8hGpt","title":"Implementing Google reCaptcha","pathname":"/functionality-reference/resources/implementing-google-recaptcha","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"IGlwv6f78jKMwhbowYOV","title":"Recursive workflows","pathname":"/functionality-reference/resources/recursive-workflows","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"uwytME0EQEPI8fFZlcQA","title":"Redirect logged in users from the root domain to the Bubble app","pathname":"/functionality-reference/resources/redirect-logged-in-users-from-the-root-domain-to-the-bubble-app","siteSpaceId":"sitesp_Gu6uC","description":"How to redirect logged in Bubble users from the marketing page in the root domain to the Bubble app in a subdomain","breadcrumbs":[{"label":"Resources"}]},{"id":"-LzEhln-qShmq-RjB6ae","title":"Regex","pathname":"/functionality-reference/resources/regex","siteSpaceId":"sitesp_Gu6uC","description":"Regex is a language that is useful to extract specific data from text into a list of things that are accessible from your Bubble app.","breadcrumbs":[{"label":"Resources"}]},{"id":"-MjGinSTb7TslJAI5ttJ","title":"S3 plugin","pathname":"/functionality-reference/resources/s3-plugin-1","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MjGifM6MP0Naz0OANX3","title":"UI element","pathname":"/functionality-reference/resources/s3-plugin-1/ui-element","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"S3 plugin"}]},{"id":"-MjGijsD-l_1WSsVI75Y","title":"No UI element","pathname":"/functionality-reference/resources/s3-plugin-1/no-ui-element","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"S3 plugin"}]},{"id":"-M6tPeOGuJyU0uSqO7Of","title":"Server-side actions","pathname":"/functionality-reference/resources/s3-plugin-1/s3-plugin","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"S3 plugin"}]},{"id":"IdZv2pF0VwUylchRCxqC","title":"Setting up the AWS bucket","pathname":"/functionality-reference/resources/s3-plugin-1/setting-up-the-aws-bucket","siteSpaceId":"sitesp_Gu6uC","description":"AWS bucket settings for use with our S3 plugin","breadcrumbs":[{"label":"Resources"},{"label":"S3 plugin"}]},{"id":"-LlHefU6Z2JVN8uflFys","title":"Salesforce","pathname":"/functionality-reference/resources/salesforce","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"PZXQzzZz9GDVyaUg8N38","title":"Security reference","pathname":"/functionality-reference/resources/security-reference","siteSpaceId":"sitesp_Gu6uC","description":"This page lays out best practices when it comes to making your app and your data secure.","breadcrumbs":[{"label":"Resources"}]},{"id":"-McoUu6caiovYjhd39Rr","title":"Security tools","pathname":"/functionality-reference/resources/security-tools","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-McoVFA-OO2DdAQoNfAb","title":"CSV injection prevention","pathname":"/functionality-reference/resources/security-tools/csv-injection-prevention","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Security tools"}]},{"id":"-LwtLMD-p03q953179PL","title":"Encrypting text","pathname":"/functionality-reference/resources/security-tools/encrypting-text","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Security tools"}]},{"id":"-Mbm6JjaseS28ZV_zIZs","title":"File malware scanner","pathname":"/functionality-reference/resources/security-tools/file-malware-scanner","siteSpaceId":"sitesp_Gu6uC","description":"Check that user uploaded files do not contain malware","breadcrumbs":[{"label":"Resources"},{"label":"Security tools"}]},{"id":"-Mahxz7yQFy6Tc3xoZwA","title":"XSS stopper + HTML whitelist","pathname":"/functionality-reference/resources/security-tools/xss-stopper","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Security tools"}]},{"id":"-MLDKLP62u0zDNs0B0uJ","title":"Sendgrid","pathname":"/functionality-reference/resources/sendgrid","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-Lij_yRoIDLrV5HsNi5s","title":"General info","pathname":"/functionality-reference/resources/sendgrid/general","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Sendgrid"}]},{"id":"-MLDKQw5mhGXMyAOQ-Xa","title":"Plugin","pathname":"/functionality-reference/resources/sendgrid/plugin","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Sendgrid"}]},{"id":"pkAzVY1tMGU8IO6eogeJ","title":"Simple Marketplace setup with PayPal","pathname":"/functionality-reference/resources/simple-marketplace-setup-with-paypal","siteSpaceId":"sitesp_Gu6uC","description":"How to build a simple Marketplace payments integration","breadcrumbs":[{"label":"Resources"}]},{"id":"5qOWuFQjoOioQM6YZk2p","title":"Stripe no-code portal and Pricing table","pathname":"/functionality-reference/resources/stripe-no-code-portal-and-pricing-table","siteSpaceId":"sitesp_Gu6uC","description":"How to setup and implement the Stripe no-code portal and Pricing table in a Bubble app","breadcrumbs":[{"label":"Resources"}]},{"id":"-MFgvs2CpYymW6VeVcT8","title":"SVGs","pathname":"/functionality-reference/resources/svgs","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-M0dMrRuKN9pnbjyxgYl","title":"Tokbox","pathname":"/functionality-reference/resources/tokbox","siteSpaceId":"sitesp_Gu6uC","description":"WebRTC solution for user-to-user video chat","breadcrumbs":[{"label":"Resources"}]},{"id":"-M16NLtTQvmRIQFRugAx","title":"Tokbox video chat","pathname":"/functionality-reference/resources/tokbox-video-chat","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"uGSHj24o4q1R8ksW8oQT","title":"Track users online status","pathname":"/functionality-reference/resources/track-users-online-status","siteSpaceId":"sitesp_Gu6uC","description":"How to track users online status","breadcrumbs":[{"label":"Resources"}]},{"id":"-MMSelSNqRT84RIRuLUv","title":"Twilio","pathname":"/functionality-reference/resources/twilio-1","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-M7mkZTnEVhF8t3JZN8u","title":"Twilio Studio","pathname":"/functionality-reference/resources/twilio-1/twilio-studio","siteSpaceId":"sitesp_Gu6uC","description":"Twilio Studio enables you to create interactive messaging scenarios between your platform and your users.","breadcrumbs":[{"label":"Resources"},{"label":"Twilio"}]},{"id":"-M40bTLptmfjfmw5Z4Bd","title":"Twilio SMS","pathname":"/functionality-reference/resources/twilio-1/twilio","siteSpaceId":"sitesp_Gu6uC","description":"Twilio SMS allows you to send programmatic text messages","breadcrumbs":[{"label":"Resources"},{"label":"Twilio"}]},{"id":"-MMSepoSHn1TRvV4qu4D","title":"Twilio video chat embed","pathname":"/functionality-reference/resources/twilio-1/twilio-video-chat-embed","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Twilio"}]},{"id":"fGcAm2Ag1MOSna2t401T","title":"Bubble.io Version Control best practices","pathname":"/functionality-reference/resources/bubble.io-version-control-best-practices","siteSpaceId":"sitesp_Gu6uC","description":"Recommendations for its best use when developing or maintaining an application","breadcrumbs":[{"label":"Resources"}]},{"id":"-MeQub0s2ZF5XqiROLPh","title":"Wistia video player","pathname":"/functionality-reference/resources/wistia-video-player","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"-MTfj0f1DUZdDCD8Bmvj","title":"Youtube player and data","pathname":"/functionality-reference/resources/youtube-iframe-data-plugin","siteSpaceId":"sitesp_Gu6uC","description":"Display youtube videos and search for videos","breadcrumbs":[{"label":"Resources"}]},{"id":"-LntSIlhmgfZ4RlA1Tvs","title":"URL Meta","pathname":"/functionality-reference/resources/urlmeta","siteSpaceId":"sitesp_Gu6uC","description":"Extracting metadata from a URL","breadcrumbs":[{"label":"Resources"}]},{"id":"hIFvYcm0kIuCW4MhtAet","title":"Web3","pathname":"/functionality-reference/resources/web3","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"pBROog2TxPzU2z5cgjK2","title":"Converting to/from Wei","pathname":"/functionality-reference/resources/web3/converting-to-from-wei","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"},{"label":"Web3"}]},{"id":"srB7JtQDY0HgItrWRdbF","title":"MetaMask Plugin","pathname":"/functionality-reference/resources/web3/metamask-plugin","siteSpaceId":"sitesp_Gu6uC","description":"MetaMask is a software cryptocurrency wallet used to interact with the Ethereum blockchain.","breadcrumbs":[{"label":"Resources"},{"label":"Web3"}]},{"id":"03ICtS1KW3Rzo6DoFUSb","title":"Widget as a service from Bubble as an embedded iFrame","pathname":"/functionality-reference/resources/widget-as-a-service-from-bubble-as-an-embedded-iframe","siteSpaceId":"sitesp_Gu6uC","breadcrumbs":[{"label":"Resources"}]},{"id":"wNHTtt2YQSEzrAtszSOa","title":"Xano: how to implement in Bubble","pathname":"/functionality-reference/resources/xano-how-to-implement-in-bubble","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"j2QoXkPLKzq1p2l7mWIm","title":"Using the Canvas extension with a non-Canvas app","pathname":"/functionality-reference/resources/using-the-canvas-extension-with-a-non-canvas-app","siteSpaceId":"sitesp_Gu6uC","description":"","breadcrumbs":[{"label":"Resources"}]},{"id":"B6MxudPi6gY5kNQL4zYI","title":"Grant access to your Plaid account","pathname":"/functionality-reference/grant-access-to-your-plaid-account","siteSpaceId":"sitesp_Gu6uC","description":""},{"id":"tCVxHD6dSzqsHI6OEsKP","title":"Grant access to your Twilio account","pathname":"/functionality-reference/grant-access-to-your-twilio-account","siteSpaceId":"sitesp_Gu6uC","description":""},{"id":"QN9Txngu4Wl2znOYXdE3","title":"Grant access to your Stripe account","pathname":"/functionality-reference/grant-access-to-your-stripe-account","siteSpaceId":"sitesp_Gu6uC","description":""}]}