Variables allow you to personalize a bulk message for each recipient — inserting values like a contact’s name, company, or any custom field into the message text. You can see exactly what value each contact will receive, with a live preview before you send.
1
Navigate to the Draft Message screen
Go to Bulk messages > New bulk message, select your contacts, and proceed to the Draft Message step.
2
Add a variable
Click the {} button in the message toolbar, or type { directly in the message body. Enter a name for the variable and a fallback value. The fallback value is used for any contact where you leave the field empty.
Add a Variable
Variable Modal
3
Insert the variable into your message
After creating a variable, insert it by selecting it from the pop-up menu that appears when you type {.
Insert Variable
4
Fill in variable values for each contact
Click Next Step to go to the Fill Variables screen. Each contact is shown as a row in the table. Fill in the variable values for each contact directly in the table.
Fill Variables
You can also fill variable values using a CSV. Download the CSV file from the top right corner of the screen.Fill in the variable values for each chat using a CSV editor like Google Sheets or Excel.
Edit CSV File
Do not modify the columns or add/remove rows in the downloaded CSV. If you need to add variables or chats, make those changes in the table and then download a new CSV file.
Upload the modified CSV to Periskope by clicking the Upload Variables button. You will notice the table has been populated with the values that you provided. Once you have verified all the variable values, click on Preview & Send.
Upload CSV
5
Preview the messages before sending
Click through each contact in the preview panel to see exactly how the final message will look for that recipient, with all variables replaced by their actual values.
Preview Variables
6
Choose a delivery mode and send
Once you are happy with the preview, choose a delivery mode:
Send now — sends immediately
Schedule once — sends at a specific date and time
Schedule repeating broadcasts — sends automatically on a recurring cadence
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Periskope Docs","colors":{"primary":"#15803D","light":"#15803D"},"logo":{"light":"https://mintcdn.com/bharatkumarramesh/Sq5VlnE2OgDOCH8s/logo/periskope-logo-full.svg?fit=max\u0026auto=format\u0026n=Sq5VlnE2OgDOCH8s\u0026q=85\u0026s=cace2e822ea7c0cd2a98b9d946baa593","dark":"https://mintcdn.com/bharatkumarramesh/Sq5VlnE2OgDOCH8s/logo/periskope-logo-full.svg?fit=max\u0026auto=format\u0026n=Sq5VlnE2OgDOCH8s\u0026q=85\u0026s=cace2e822ea7c0cd2a98b9d946baa593"},"favicon":"https://mintcdn.com/bharatkumarramesh/4Au0rGi6EzWXLRIt/logo/periskope-logo.svg?fit=max\u0026auto=format\u0026n=4Au0rGi6EzWXLRIt\u0026q=85\u0026s=275c52e578008a630d9a4c6e150100a0","api":{"playground":{"display":"none"}},"appearance":{"strict":true},"navbar":{"links":[{"href":"https://www.postman.com/periskope/workspace/periskope-platform-api","label":"Postman API collection"},{"href":"https://what.sapp.link/periskope","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://console.periskope.app"}},"footer":{"socials":{"twitter":"https://twitter.com/periskope_app","linkedin":"https://www.linkedin.com/company/periskope-app","youtube":"https://www.youtube.com/@PeriskopeApp"}},"integrations":{"gtm":{"tagId":"GTM-N9SPZLGR"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bharatkumarramesh","hasAudioNarration":false,"actualSubdomain":"bharatkumarramesh","customDomains":["docs.periskope.app"],"gitSource":{"type":"github","owner":"periskope-org","repo":"docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ace2b08a71bd07e07006d57","collectionId":"48f31024-df92-485a-8d57-54cf320a1a90","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ace2b08a71bd07e07006d57"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ace2b08a71bd07e07006d57","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"APIs \u0026 Webhooks","count":133},{"language":"default","tag":"Documentation","count":68},{"language":"default","tag":"Webhooks","count":21},{"language":"default","tag":"Message APIs","count":14},{"language":"default","tag":"API","count":13},{"language":"default","tag":"Chat APIs","count":13},{"language":"default","tag":"AI Agent","count":11},{"language":"default","tag":"Manage WhatsApp Groups, 1:1 Chats \u0026 Communities","count":11},{"language":"default","tag":"Group Settings APIs","count":9},{"language":"default","tag":"Objects","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".image-container{max-width:50%;margin:0 auto}"}],"page":{"pagePath":"features/bulk-message-variables","slug":"/features/bulk-message-variables","pageMetadata":{"title":"Variables in Bulk Messages","description":"Guide to personalise bulk messages with variables","href":"/features/bulk-message-variables"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Guide to personalise bulk messages with variables\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedFrame,OptimizedImage,Step,Steps,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedFrame)_missingMdxReference(`OptimizedFrame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`adding-bulk-message-variables`,children:`Adding Bulk Message Variables`}),`\n`,_jsx(_components.p,{children:`Variables allow you to personalize a bulk message for each recipient — inserting values like a contact’s name, company, or any custom field into the message text. You can see exactly what value each contact will receive, with a live preview before you send.`}),`\n`,_jsxs(Steps,{titleSize:`p`,children:[_jsx(Step,{title:`Navigate to the Draft Message screen`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.code,{children:`Bulk messages > New bulk message`}),`, select your contacts, and proceed to the Draft Message step.`]})}),_jsxs(Step,{title:`Add a variable`,children:[_jsxs(_components.p,{children:[`Click the `,_jsx(_components.code,{children:`{}`}),` button in the message toolbar, or type `,_jsx(_components.code,{children:`{`}),` directly in the message body. Enter a name for the variable and a fallback value. The fallback value is used for any contact where you leave the field empty.`]}),_jsx(Frame,{caption:`Add a Variable`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=d6136eab9fc882e6f3dbc33eaf92cbee`,alt:`add-variable`,\"data-og-width\":`2272`,width:`2272`,\"data-og-height\":`1308`,height:`1308`,\"data-path\":`features/images/add-variable.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?w=280\u0026fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=f8c0decc963106e7fc2f57a4e5c06ec0 280w, https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?w=560\u0026fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=2401bc620db1cd93d6bdd9b7e7e8761b 560w, https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?w=840\u0026fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=d6863c5550a658cf6d728e51d422b4a5 840w, https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?w=1100\u0026fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=1d81ea6281e013397c8ffb2f8e741322 1100w, https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?w=1650\u0026fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=f116cd4c5f713ad2405d951ff05cc8f1 1650w, https://mintcdn.com/bharatkumarramesh/QcFc_mtwjVzqh4PR/features/images/add-variable.png?w=2500\u0026fit=max\u0026auto=format\u0026n=QcFc_mtwjVzqh4PR\u0026q=85\u0026s=c9fb96bc0e824747610f990fb151eb70 2500w`})}),_jsx(Frame,{caption:`Variable Modal`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=2e8ba15594c7f213453544e7cdc2e33a`,alt:`add-variable-modal`,\"data-og-width\":`832`,width:`832`,\"data-og-height\":`688`,height:`688`,\"data-path\":`features/images/add-variable-modal.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?w=280\u0026fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=7ef6c5644b6dd3484d77176d3a1e2e3c 280w, https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?w=560\u0026fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=6397aa45765570b757b8e6524cbca1d4 560w, https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?w=840\u0026fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=2fe3a12edb6ee0c65c60e690b2ee2bc4 840w, https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=beba61cd380f315cdd6d0cfd34e71714 1100w, https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=1fa9cda5dcb9e59ff939ea9541492ad9 1650w, https://mintcdn.com/bharatkumarramesh/nLZLyDfnObVs3JXO/features/images/add-variable-modal.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nLZLyDfnObVs3JXO\u0026q=85\u0026s=83a456b0336b2092d7310f61616fc578 2500w`})})]}),_jsxs(Step,{title:`Insert the variable into your message`,children:[_jsxs(_components.p,{children:[`After creating a variable, insert it by selecting it from the pop-up menu that appears when you type `,_jsx(_components.code,{children:`{`}),`.`]}),_jsx(Frame,{caption:`Insert Variable`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=ff52b1c13d518c8eb3fcdee2e3bff19b`,alt:`insert-variable`,\"data-og-width\":`1102`,width:`1102`,\"data-og-height\":`1268`,height:`1268`,\"data-path\":`features/images/insert-variable.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?w=280\u0026fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=d9a28ec270f4a640d7fcf1540554031f 280w, https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?w=560\u0026fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=1d1a5ed3b7713a287f0bff8e087bfcf6 560w, https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?w=840\u0026fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=a17918ac419acfd3741901fdbe3b8bf3 840w, https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=c162d1bf986e70de07b890020387ecef 1100w, https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=5d656f8e6f8aff4880a8b057bb0fd128 1650w, https://mintcdn.com/bharatkumarramesh/eWtBV2eYIgtIYxbf/features/images/insert-variable.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eWtBV2eYIgtIYxbf\u0026q=85\u0026s=8a298e339a1aebfed8aadac216213be7 2500w`})})]}),_jsxs(Step,{title:`Fill in variable values for each contact`,children:[_jsxs(_components.p,{children:[`Click `,_jsx(_components.code,{children:`Next Step`}),` to go to the Fill Variables screen. Each contact is shown as a row in the table. Fill in the variable values for each contact directly in the table.`]}),_jsx(Frame,{caption:`Fill Variables`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=050b6775d13e348f7af0e33e3c3b3416`,alt:`fill-variables`,\"data-og-width\":`2938`,width:`2938`,\"data-og-height\":`1664`,height:`1664`,\"data-path\":`features/images/fill-variables.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?w=280\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=321c0b14226c54440652390014094e40 280w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?w=560\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=b3b15478dda440f39b212e2245d168b6 560w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?w=840\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=871bd0430633f267106bd2f390251909 840w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=f70e1e75a2d60500859ea83fd79ba573 1100w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=d6357ec28913e8ad79085a5d4b1b1589 1650w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/fill-variables.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=dcfb7cdd89c829cc02d9b3b8693c9e12 2500w`})}),_jsx(_components.p,{children:`You can also fill variable values using a CSV. Download the CSV file from the top right corner of the screen.`}),_jsx(_components.p,{children:`Fill in the variable values for each chat using a CSV editor like Google Sheets or Excel.`}),_jsx(Frame,{caption:`Edit CSV File`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=3c1a9dcc381f5e5a1275f65227f98e62`,alt:`edit-csv`,\"data-og-width\":`844`,width:`844`,\"data-og-height\":`502`,height:`502`,\"data-path\":`features/images/edit-csv.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?w=280\u0026fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=a1b8083637274389199115bc583a9bce 280w, https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?w=560\u0026fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=510baa4cc274e0b53d9bb97253c19ed8 560w, https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?w=840\u0026fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=8d80ec46e707cd984a6f10149bd7ea0e 840w, https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?w=1100\u0026fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=143d82926cc2f43fe0864c164829b05b 1100w, https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?w=1650\u0026fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=58bd5bca739c53bacc44f84607fff80d 1650w, https://mintcdn.com/bharatkumarramesh/IzTgyiP5udfKpAu_/features/images/edit-csv.png?w=2500\u0026fit=max\u0026auto=format\u0026n=IzTgyiP5udfKpAu_\u0026q=85\u0026s=b649292eb77bab812587810130474abf 2500w`})}),_jsx(Warning,{children:_jsx(_components.p,{children:`Do not modify the columns or add/remove rows in the downloaded CSV. If you need to add variables or chats, make those changes in the table and then download a new CSV file.`})}),_jsxs(_components.p,{children:[`Upload the modified CSV to Periskope by clicking the `,_jsx(_components.code,{children:`Upload Variables`}),` button. You will notice the table has been populated with the values that you provided. Once you have verified all the variable values, click on `,_jsx(_components.code,{children:`Preview \u0026 Send`}),`.`]}),_jsx(Frame,{caption:`Upload CSV`,children:_jsx(OptimizedFrame,{width:`560`,height:`315`,controls:true,loop:true,src:`/features/images/upload-variable.mp4`,alt:`upload-csv`})})]}),_jsxs(Step,{title:`Preview the messages before sending`,children:[_jsx(_components.p,{children:`Click through each contact in the preview panel to see exactly how the final message will look for that recipient, with all variables replaced by their actual values.`}),_jsx(Frame,{caption:`Preview Variables`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=b73711c117d6c0277041bfd4d5bdcb2d`,alt:`preview-variables`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1666`,height:`1666`,\"data-path\":`features/images/preview-variables.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?w=280\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=13df73ec69fbe4d025cd31d5a64a567b 280w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?w=560\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=2658b33e76212fbfdd79fb57839fbd52 560w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?w=840\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=22426833aba2dda43756f1615bbc3314 840w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?w=1100\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=665815d84c6e5e82784827ac3549b252 1100w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?w=1650\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=2d891a1ca10221223fd9efdc413c671c 1650w, https://mintcdn.com/bharatkumarramesh/hz7lf2Fm42TCjPEk/features/images/preview-variables.png?w=2500\u0026fit=max\u0026auto=format\u0026n=hz7lf2Fm42TCjPEk\u0026q=85\u0026s=ff6eb7ab2ff5a0e58fcb289a616c2650 2500w`})})]}),_jsxs(Step,{title:`Choose a delivery mode and send`,children:[_jsx(_components.p,{children:`Once you are happy with the preview, choose a delivery mode:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Send now`}),` — sends immediately`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schedule once`}),` — sends at a specific date and time`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Schedule repeating broadcasts`}),` — sends automatically on a recurring cadence`]}),`\n`]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Variables in Bulk Messages","description":"Guide to personalise bulk messages with variables","href":"/features/bulk-message-variables"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Adding Bulk Message Variables","slug":"adding-bulk-message-variables","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"bharatkumarramesh","siteName":"Periskope Docs","title":"Variables in Bulk Messages - Periskope Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-05T13:01:15.892Z","originalFileLocation":"features/bulk-message-variables.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Guide to personalise bulk messages with variables\">\u003cmeta data-mint-head name=\"application-name\" content=\"Periskope Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Variables in Bulk Messages - Periskope Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Guide to personalise bulk messages with variables\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Periskope Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.periskope.app/features/bulk-message-variables\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bharatkumarramesh.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Variables+in+Bulk+Messages\u0026amp;description=Guide+to+personalise+bulk+messages+with+variables\u0026amp;theme=42ac27e6aa5a1e2c22bc4538\u0026amp;signature=c66b9e9fe164eadba69c63a886017133d3f0fe59c0283fc8124034c8e4756266\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Variables in Bulk Messages - Periskope Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Guide to personalise bulk messages with variables\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bharatkumarramesh.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Variables+in+Bulk+Messages\u0026amp;description=Guide+to+personalise+bulk+messages+with+variables\u0026amp;theme=42ac27e6aa5a1e2c22bc4538\u0026amp;signature=c66b9e9fe164eadba69c63a886017133d3f0fe59c0283fc8124034c8e4756266\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/bharatkumarramesh/xEFzGZM_csru_Nms/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Periskope Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#15803D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.periskope.app/features/bulk-message-variables\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/features/bulk-message-variables.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Periskope Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Periskope Docs","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/get-started/introduction"},{"title":"Setting up your account","href":"/get-started/setup-account"},{"title":"Connect WhatsApp to Periskope","href":"/get-started/connect-whatsapp"},{"title":"Best Practices","href":"/get-started/best-practices"},{"title":"Warming Up New Numbers","href":"/get-started/warmup-numbers"}]},{"group":"Manage WhatsApp Groups, 1:1 Chats \u0026 Communities","pages":[{"title":"Multi-Number Inbox","href":"/features/multi-number-inbox"},{"title":"Team Access \u0026 Roles","href":"/features/team-access-roles"},{"title":"Number Masking \u0026 Privacy","href":"/features/number-masking-privacy"},{"title":"Media Privacy","href":"/features/media-privacy"},{"title":"Labels","href":"/features/labels"},{"title":"Custom Properties","href":"/features/custom-properties"},{"title":"Quick Replies","href":"/features/quick-replies"},{"title":"Private Notes","href":"/features/private-note"},{"title":"Scheduled \u0026 Recurring Messages","href":"/features/recurring-scheduled-messages"},{"title":"Chat List Bulk Actions","href":"/features/bulk-actions"},{"title":"Calling","href":"/features/calling"}]},{"group":"Tickets, Tasks and Reminders","pages":[{"title":"Create a Ticket on WhatsApp","href":"/tickets/create-ticket"},{"title":"Create Ticket with an Emoji","href":"/tasks-and-reminders/emoji-ticketing"},{"title":"Custom Properties for Tickets","href":"/features/custom-properties-for-tickets"},{"title":"Export Tickets","hidden":true,"href":"/tickets/export-tickets"},{"title":"Create a Task","href":"/tasks-and-reminders/tasks"},{"title":"Export Tickets","hidden":true,"href":"/tickets/export-tickets"},{"title":"Set Reminders for Tasks","hidden":true,"href":"/tasks-and-reminders/reminders"},{"title":"Task Actions (filters, sorting \u0026 actions)","hidden":true,"href":"/tasks-and-reminders/task-options"}]},{"group":"Bulk Messages","pages":[{"title":"Sending a Bulk Message","href":"/features/bulk-message"},{"title":"Repeating Bulk Messages","href":"/features/bulk-message-repeating"},{"title":"Variables \u0026 Message Templates","href":"/features/bulk-message-variables-templates"},{"title":"Saved Chat Lists","href":"/features/bulk-message-saved-chat-lists"},{"title":"Logs","href":"/features/bulk-message-logs"},{"title":"Broadcast Credits","href":"/features/bulk-message-credits"}]},{"group":"AI Agent","pages":[{"title":"AI Agent Overview","href":"/ai/agent/overview"},{"title":"Activation","href":"/ai/agent/settings"},{"title":"Personalization","href":"/ai/agent/personalization"},{"title":"Knowledge Base","href":"/ai/agent/training"},{"title":"Self-Training","href":"/ai/agent/self-training"},{"title":"Built-in Tools","href":"/ai/agent/built-in-tools"},{"title":"Custom Tools","href":"/ai/agent/custom-tools"},{"title":"Connectors","href":"/ai/agent/connectors"},{"title":"Org \u0026 Chat Assistant","href":"/ai/agent/ai-assistant"},{"title":"AI Dictate","href":"/ai/agent/ai-dictate"},{"title":"AI Credits","href":"/features/ai-credits"}]},{"group":"AI Automation for WhatsApp","pages":[{"title":"Flag Messages with AI","href":"/ai/flagging"},{"title":"AI Summaries and Responses","href":"/ai/summaries"},{"title":"Periskope Whatsapp MCP","href":"/ai/mcp"},{"title":"Respond \u0026 Escalate to Humans","href":"/ai/respond-and-esclate-to-humans-1"},{"title":"Translate with AI","href":"/ai/translate-with-ai"}]},{"group":"Automation Rules","pages":[{"title":"What are Automation Rules?","href":"/integrations/automation-rules/overview"},{"title":"Components of Automation Rules","href":"/integrations/automation-rules/components"},{"title":"Triggers","hidden":true,"href":"/integrations/automation-rules/triggers"},{"title":"Conditions","hidden":true,"href":"/integrations/automation-rules/conditions"},{"title":"Actions","hidden":true,"href":"/integrations/automation-rules/actions"},{"title":"Setting up Automation Rules","href":"/integrations/automation-rules/setup"}]},{"group":"Most Used Automation Rules","pages":[{"title":"Automated Ticketing","href":"/automated-ticketing-rules"},{"title":"Automated Replies","href":"/automated-replies"},{"title":"Automated Assignment","href":"/automated-assignment"},{"title":"Automated Escalation","href":"/automated-escalation"},{"title":"Automated Flagging","href":"/automated-flagging"},{"title":"Automated Notifications","href":"/automated-notifications"},{"title":"Create Ticket for SLA Breaches","href":"/create-ticket-for-sla-breaches"},{"title":"Create Tickets from Keywords","href":"/create-tickets-from-keywords"},{"title":"Auto Assign Support Tickets","href":"/auto-assign-support-tickets"}]},{"group":"Most Used Automation Rules","hidden":true,"pages":[{"title":"Create Ticket for SLA Breaches","href":"/create-ticket-for-sla-breaches"},{"title":"Create Tickets from Keywords","href":"/create-tickets-from-keywords"},{"title":"Auto Assign Support Tickets","href":"/auto-assign-support-tickets"}]},{"group":"Analytics","pages":[{"title":"Track Team Performance ","href":"/analytics"},{"title":"Export and Analyze Your Data","href":"/export-and-analyze-your-data"},{"title":"Track and Export Ticket Metrics","href":"/track-and-export-ticket-metrics"},{"title":"Workspace Metrics","href":"/features/workspace-metrics"},{"title":"Data Exports","href":"/features/export-data"}]},{"group":"Workflows","pages":[{"title":"Overview","href":"/integrations/workflows/overview"},{"title":"Triggers","href":"/integrations/workflows/triggers"},{"title":"Actions","href":"/integrations/workflows/actions"}]},{"group":"Integrations","pages":[{"title":"HubSpot","href":"/integrations/hubspot"},{"title":"Zoho CRM","href":"/integrations/zohocrm"},{"title":"Google Sheets","href":"/integrations/google-sheets"},{"title":"Freshdesk","href":"/integrations/freshdesk"},{"title":"Zohodesk","href":"/integrations/zohodesk"},{"title":"Zapier","href":"/integrations/zapier"}]},{"group":"Troubleshooting","pages":[{"title":"Fix \"Not receiving notifications on Periskope\"","href":"/troubleshooting/notifications"},{"title":"Fix \"Can't use Periskope due to App crashes\"","href":"/troubleshooting/clear-memory"},{"title":"Fix \"Blank screen or Out of memory issues\"","href":"/troubleshooting/clear-cache"},{"title":"Fix \"Chats not loading\"","href":"/troubleshooting/loading-chat"}]},{"group":"Analytics","hidden":true,"pages":[{"title":"Track Team Performance ","href":"/analytics"}]}]},{"anchor":"APIs \u0026 Webhooks","icon":"webhook","groups":[{"group":"API","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authorization","href":"/api-reference/authorization"},{"title":"SDK","href":"/api-reference/sdk"},{"group":"Objects","pages":[{"title":"The Chat Object","href":"/api-reference/objects/the-chat-object"},{"title":"The Chat Notification Object","href":"/api-reference/objects/the-chat-notification-object"},{"title":"The Reaction Object","href":"/api-reference/objects/the-reaction-object"},{"title":"The Message Object","href":"/api-reference/objects/the-message-object"},{"title":"The Contact Object","href":"/api-reference/objects/the-contact-object"},{"title":"The Ticket Info Object","href":"/api-reference/objects/the-ticket-info-object"},{"title":"The Task Object","href":"/api-reference/objects/the-task-object"},{"title":"The Phone Object","href":"/api-reference/objects/the-phone-object"},{"title":"The Note Object","href":"/api-reference/objects/the-note-object"}]},{"title":"WhatsApp Message Ack Status","href":"/api-reference/delivery-status"}]},{"group":"Chat APIs","icon":"comments","pages":[{"title":"Get Chat By ID","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}","href":"/api-reference/chat/get-chat-by-id"},{"title":"Get Messages in a Chat","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/messages","href":"/api-reference/chat/get-messages-in-chat"},{"title":"Get Private Notes in a Chat","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/notes","href":"/api-reference/chat/get-private-notes-in-chat"},{"title":"Get Notifications in a Chat","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/notifications","href":"/api-reference/chat/get-notifications-in-chat"},{"title":"List All Chats","openapi":"api-reference/openapi-generated.json GET /v1/chats","href":"/api-reference/chat/list-all-chats"},{"title":"List All Messages","openapi":"api-reference/openapi-generated.json GET /v1/chats/messages","href":"/api-reference/chat/list-all-messages"},{"title":"List All Notifications","openapi":"api-reference/openapi-generated.json GET /v1/chats/notifications","href":"/api-reference/chat/list-all-notifications"},{"title":"Update Chat Labels","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/labels","href":"/api-reference/chat/update-chat-labels"},{"title":"Update Chat","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/{chat_id}","href":"/api-reference/chat/update-chat"},{"title":"Mark chat as read","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/read","href":"/api-reference/chat/mark-read"},{"title":"Update Chat Access","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/access","href":"/api-reference/chat/override-chat-access"},{"title":"Get Chat Audit Logs","openapi":"api-reference/openapi-generated.json GET /v1/chats/{chat_id}/audit-logs","href":"/api-reference/chat/get-chat-audit-logs"},{"title":"Update Chat AI Settings","openapi":"api-reference/openapi-generated.json PATCH /v1/chats/{chat_id}/ai","href":"/api-reference/chat/update-chat-ai-settings"}]},{"group":"Group Settings APIs","pages":[{"title":"Create Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/create","href":"/api-reference/chat/create-group"},{"title":"Generate a new invite link for a chat","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/invite","href":"/api-reference/chat/refresh-invite"},{"title":"Add Participant to Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/add","href":"/api-reference/chat/add-participant"},{"title":"Remove Participant from Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/remove","href":"/api-reference/chat/remove-participant"},{"title":"Promote Participant to Admin","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/promote","href":"/api-reference/chat/promote-participant-to-admin"},{"title":"Demote Participant to Member","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/demote","href":"/api-reference/chat/demote-participant-to-member"},{"title":"Update Group Settings","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/settings","href":"/api-reference/chat/update-group-settings"},{"title":"Accept Group Invite","openapi":"api-reference/openapi-generated.json POST /v1/chats/accept-invite","href":"/api-reference/chat/accept-group-invite"},{"title":"Leave Group","openapi":"api-reference/openapi-generated.json POST /v1/chats/{chat_id}/leave","href":"/api-reference/chat/leave-group"}]},{"group":"Message APIs","icon":"comment","pages":[{"title":"Send Message","openapi":"api-reference/openapi-generated.json POST /v1/message/send","href":"/api-reference/message/send-message"},{"title":"Send Sync Message","openapi":"api-reference/openapi-generated.json POST /v1/message/send-sync","href":"/api-reference/message/send-message-sync"},{"title":"Broadcast Message","openapi":"api-reference/openapi-generated.json POST /v1/message/broadcast","href":"/api-reference/message/broadcast-message"},{"title":"Delete a Broadcast","openapi":"api-reference/openapi-generated.json DELETE /v1/message/broadcast/{broadcast_id}","href":"/api-reference/message/delete-broadcast"},{"title":"Delete Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/delete","href":"/api-reference/message/delete-message"},{"title":"Edit Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/edit","href":"/api-reference/message/edit-message"},{"title":"Forward Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/forward","href":"/api-reference/message/forward-message"},{"title":"Get Message","openapi":"api-reference/openapi-generated.json GET /v1/message/{message_id}","href":"/api-reference/message/get-message"},{"title":"React to Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/react","href":"/api-reference/message/react-to-message"},{"title":"Pin Message","openapi":"api-reference/openapi-generated.json POST /v1/message/{message_id}/pin","href":"/api-reference/message/pin-message"},{"title":"Get Message Status","openapi":"api-reference/openapi-generated.json GET /v1/message/{unique_id}/status","href":"/api-reference/message/message-status"},{"title":"List All Message Queues","openapi":"api-reference/openapi-generated.json POST /v1/message/queues","href":"/api-reference/message/list-queue-jobs"},{"title":"Get Status of Message Queues","openapi":"api-reference/openapi-generated.json GET /v1/message/queues/health","href":"/api-reference/message/queue-health"},{"title":"Purge Message Queues","openapi":"api-reference/openapi-generated.json POST /v1/message/queues/purge","href":"/api-reference/message/purge-queue-jobs"}]},{"group":"Scheduled Message APIs","pages":[{"title":"List Scheduled Messages","openapi":"api-reference/openapi-generated.json GET /v1/message/scheduled","href":"/api-reference/scheduled-messages/list-scheduled-messages"},{"title":"Schedule a Message","openapi":"api-reference/openapi-generated.json POST /v1/message/scheduled","href":"/api-reference/scheduled-messages/schedule-message"},{"title":"Get Scheduled Message","openapi":"api-reference/openapi-generated.json GET /v1/message/scheduled/{scheduled_id}","href":"/api-reference/scheduled-messages/get-scheduled-message"},{"title":"Update Scheduled Message","openapi":"api-reference/openapi-generated.json PATCH /v1/message/scheduled/{scheduled_id}","href":"/api-reference/scheduled-messages/update-scheduled-message"},{"title":"Delete Scheduled Message","openapi":"api-reference/openapi-generated.json DELETE /v1/message/scheduled/{scheduled_id}","href":"/api-reference/scheduled-messages/delete-scheduled-message"},{"title":"List Scheduled Message Runs","openapi":"api-reference/openapi-generated.json GET /v1/message/scheduled/{scheduled_id}/occurrences","href":"/api-reference/scheduled-messages/list-scheduled-message-occurrences"}]},{"group":"Media APIs","icon":"photo-film","pages":[{"title":"Migrate Media URL","api":"POST https://api.periskope.app/v1/media/migrate-url","href":"/api-reference/media/migrate-url"},{"title":"Migrate Media URLs (Batch)","api":"POST https://api.periskope.app/v1/media/migrate-url/batch","href":"/api-reference/media/migrate-url-batch"}]},{"group":"Contact APIs","icon":"phone","pages":[{"title":"Get Contact By ID","openapi":"api-reference/openapi-generated.json GET /v1/contacts/{contact_id}","href":"/api-reference/contacts/get-contact-by-id"},{"title":"Get Contacts","openapi":"api-reference/openapi-generated.json GET /v1/contacts","href":"/api-reference/contacts/get-contacts"},{"title":"Update Contact Labels","openapi":"api-reference/openapi-generated.json PATCH /v1/contacts/labels","href":"/api-reference/contacts/update-contact-labels"},{"title":"Update Contact","openapi":"api-reference/openapi-generated.json PATCH /v1/contacts/{contact_id}","href":"/api-reference/contacts/update-contact"},{"title":"Create Contact","openapi":"api-reference/openapi-generated.json POST /v1/contacts/create","href":"/api-reference/contacts/create-contact"},{"title":"Check Contact Exists","openapi":"api-reference/openapi-generated.json POST /v1/contacts/check","href":"/api-reference/contacts/check-contact"}]},{"group":"Ticket APIs","icon":"ticket","pages":[{"title":"Get Ticket By ID","openapi":"api-reference/openapi-generated.json GET /v1/tickets/{ticket_id}","href":"/api-reference/tickets/get-ticket-by-id"},{"title":"Get Tickets","openapi":"api-reference/openapi-generated.json GET /v1/tickets","href":"/api-reference/tickets/get-tickets"},{"title":"Update Ticket","openapi":"api-reference/openapi-generated.json PATCH /v1/tickets/{ticket_id}","href":"/api-reference/tickets/update-ticket"},{"title":"Create Ticket","openapi":"api-reference/openapi-generated.json POST /v1/tickets/create","href":"/api-reference/tickets/create-ticket"},{"title":"Get Ticket Audit Logs","openapi":"api-reference/openapi-generated.json GET /v1/tickets/{ticket_id}/audit-logs","href":"/api-reference/tickets/get-ticket-audit-logs"}]},{"group":"Custom Property APIs","icon":"list-dropdown","pages":[{"title":"Get All Custom Properties","openapi":"api-reference/openapi-generated.json GET /v1/properties","href":"/api-reference/properties/get-all-custom-properties"},{"title":"Get Custom Property","openapi":"api-reference/openapi-generated.json GET /v1/properties/{property_id}","href":"/api-reference/properties/get-custom-property"},{"title":"Create Custom Property","openapi":"api-reference/openapi-generated.json POST /v1/properties/create","href":"/api-reference/properties/create-custom-property"},{"title":"Update Custom Property","openapi":"api-reference/openapi-generated.json POST /v1/properties/{property_id}","href":"/api-reference/properties/update-custom-property"},{"title":"Update Property Options","openapi":"api-reference/openapi-generated.json POST /v1/properties/{property_id}/options","href":"/api-reference/properties/update-property-options"},{"title":"Delete Custom Properties","openapi":"api-reference/openapi-generated.json DELETE /v1/properties","href":"/api-reference/properties/delete-custom-property"}]},{"group":"Task APIs","icon":"list-check","pages":[{"title":"Get Task By ID","openapi":"api-reference/openapi-generated.json GET /v1/tasks/{task_id}","href":"/api-reference/tasks/get-task-by-id"},{"title":"Get All Tasks","openapi":"api-reference/openapi-generated.json GET /v1/tasks","href":"/api-reference/tasks/get-tasks"},{"title":"Create Task","openapi":"api-reference/openapi-generated.json POST /v1/tasks/create","href":"/api-reference/tasks/create-task"},{"title":"Update Task","openapi":"api-reference/openapi-generated.json PATCH /v1/tasks/{task_id}","href":"/api-reference/tasks/update-task"}]},{"group":"Queue APIs","icon":"list","pages":[{"title":"Fetch Queue Jobs","openapi":"api-reference/openapi-generated.json GET /v1/queue/jobs","href":"/api-reference/queues/fetch-queue-jobs"},{"title":"Get Broadcast Status","openapi":"api-reference/openapi-generated.json GET /v1/queue/broadcast","href":"/api-reference/queues/get-broadcast-status"},{"title":"Get Queue Status","openapi":"api-reference/openapi-generated.json GET /v1/queue","href":"/api-reference/queues/get-queue-status"},{"title":"Purge Queue","openapi":"api-reference/openapi-generated.json DELETE /v1/queue/purge","href":"/api-reference/queues/purge-queue"}]},{"group":"Phone APIs","icon":"phone","pages":[{"title":"Get phone","openapi":"api-reference/openapi-generated.json GET /v1/phones","href":"/api-reference/phones/get-phone"},{"title":"Get All Phones","openapi":"api-reference/openapi-generated.json GET /v1/phones/all","href":"/api-reference/phones/get-all-phones"},{"title":"Get QR","openapi":"api-reference/openapi-generated.json GET /v1/phones/qr","href":"/api-reference/phones/get-qr"},{"title":"Reset Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/reset","href":"/api-reference/phones/reset-phone"},{"title":"Restart Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/restart","href":"/api-reference/phones/restart-phone"},{"title":"Resync Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/resync","href":"/api-reference/phones/resync-phone"},{"title":"Update phone","openapi":"api-reference/openapi-generated.json PATCH /v1/phones/update","href":"/api-reference/phones/update-phone"},{"title":"Create Phone","openapi":"api-reference/openapi-generated.json POST /v1/phones/create","href":"/api-reference/phones/create-phone"},{"title":"Delete Phone","openapi":"api-reference/openapi-generated.json DELETE /v1/phones/delete","href":"/api-reference/phones/delete-phone"}]},{"group":"Notes APIs","icon":"comment","pages":[{"title":"Send Private Notes","openapi":"api-reference/openapi-generated.json POST /v1/notes/create","href":"/api-reference/notes/create-private-notes"},{"title":"Get Private Note","openapi":"api-reference/openapi-generated.json GET /v1/notes/{note_id}","href":"/api-reference/notes/get-private-note"},{"title":"List All Private Notes","openapi":"api-reference/openapi-generated.json GET /v1/notes","href":"/api-reference/notes/list-all-private-notes"}]},{"group":"Reaction APIs","icon":"comment","pages":[{"title":"Get Reactions","openapi":"api-reference/openapi-generated.json GET /v1/reactions","href":"/api-reference/reactions/get-reactions"}]},{"group":"Knowledge Base APIs","icon":"brain","pages":[{"title":"Get All Knowledge Base Items","openapi":"api-reference/openapi-generated.json GET /v1/knowledge-base","href":"/api-reference/knowledge-base/get-all-knowledge-base"},{"title":"Get FAQ by ID","openapi":"api-reference/openapi-generated.json GET /v1/knowledge-base/faq/{context_id}","href":"/api-reference/knowledge-base/get-faq-by-id"},{"title":"Create FAQ","openapi":"api-reference/openapi-generated.json POST /v1/knowledge-base/faq/create","href":"/api-reference/knowledge-base/create-faq"},{"title":"Update FAQ","openapi":"api-reference/openapi-generated.json PATCH /v1/knowledge-base/faq/{context_id}","href":"/api-reference/knowledge-base/update-faq"},{"title":"Delete FAQ","openapi":"api-reference/openapi-generated.json DELETE /v1/knowledge-base/faq/{context_id}","href":"/api-reference/knowledge-base/delete-faq"},{"title":"Get Document by ID","openapi":"api-reference/openapi-generated.json GET /v1/knowledge-base/document/{document_id}","href":"/api-reference/knowledge-base/get-document-by-id"},{"title":"Create Document","openapi":"api-reference/openapi-generated.json POST /v1/knowledge-base/document/create","href":"/api-reference/knowledge-base/create-document"},{"title":"Delete Document","openapi":"api-reference/openapi-generated.json DELETE /v1/knowledge-base/document/{document_id}","href":"/api-reference/knowledge-base/delete-document"}]},{"group":"Member APIs","icon":"user-group","pages":[{"title":"Invite Members","openapi":"api-reference/openapi-generated.json POST /v1/members/invite","href":"/api-reference/members/invite-members"},{"title":"Update Member Access","openapi":"api-reference/openapi-generated.json PATCH /v1/members/access","href":"/api-reference/members/update-member-access"},{"title":"Delete Member","openapi":"api-reference/openapi-generated.json DELETE /v1/members/{email_id}","href":"/api-reference/members/delete-member"}]},{"group":"AI APIs","icon":"robot","pages":[{"title":"Trigger AI Reply","openapi":"api-reference/openapi-generated.json POST /v1/ai/reply","href":"/api-reference/ai/trigger-ai-reply"}]},{"group":"Webhook APIs","icon":"webhook","pages":[{"title":"List Webhooks","openapi":"api-reference/openapi-generated.json GET /v1/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create Webhook","openapi":"api-reference/openapi-generated.json POST /v1/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Get Webhook by ID","openapi":"api-reference/openapi-generated.json GET /v1/webhooks/{id}","href":"/api-reference/webhooks/get-webhook-by-id"},{"title":"Update Webhook","openapi":"api-reference/openapi-generated.json PATCH /v1/webhooks/{id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete Webhook","openapi":"api-reference/openapi-generated.json DELETE /v1/webhooks/{id}","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"Webhooks","pages":[{"title":"Introduction","href":"/api-reference/webhooks/introduction"},{"title":"chat.created","icon":"comments","href":"/api-reference/webhooks/chat.created"},{"title":"chat.notification.created","icon":"comments","href":"/api-reference/webhooks/chat.notification.created"},{"title":"chat.custom-properties.updated","icon":"comments","href":"/api-reference/webhooks/chat.custom-properties.updated"},{"title":"message.created","icon":"comment","href":"/api-reference/webhooks/message.created"},{"title":"message.updated","icon":"comment","href":"/api-reference/webhooks/message.updated"},{"title":"message.deleted","icon":"comment","href":"/api-reference/webhooks/message.deleted"},{"title":"message.ack.updated","icon":"comment","href":"/api-reference/webhooks/message.ack.updated"},{"title":"message.ticket.attached","icon":"comment","href":"/api-reference/webhooks/message.ticket.attached"},{"title":"message.flagged","icon":"comment","href":"/api-reference/webhooks/message.flagged"},{"title":"message.unflagged","icon":"comment","href":"/api-reference/webhooks/message.unflagged"},{"title":"note.created","icon":"comment","href":"/api-reference/webhooks/note.created"},{"title":"reaction.created","icon":"face-smile","href":"/api-reference/webhooks/reaction.created"},{"title":"reaction.updated","icon":"face-smile","href":"/api-reference/webhooks/reaction.updated"},{"title":"ticket.created","icon":"tag","href":"/api-reference/webhooks/ticket.created"},{"title":"ticket.updated","icon":"tag","href":"/api-reference/webhooks/ticket.updated"},{"title":"ticket.deleted","icon":"tag","href":"/api-reference/webhooks/ticket.deleted"},{"title":"org.phone.updated","icon":"phone","href":"/api-reference/webhooks/org.phone.updated"},{"title":"org.phone.connected","icon":"phone","href":"/api-reference/webhooks/org.phone.connected"},{"title":"org.phone.disconnected","icon":"phone","href":"/api-reference/webhooks/org.phone.disconnected"},{"title":"org.phone.qr","icon":"phone","href":"/api-reference/webhooks/org.phone.qr"}]}]},{"anchor":"Free Tools","icon":"toolbox","href":"https://tools.periskope.app"}]},"title":"Variables in Bulk Messages - Periskope Docs","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-COGkNuA6.js","DynamicMarkdown-85clUA0i.js","zoom-image-lightbox-BZxD9MAj.js","lightbox-handle-r17bVUz3.js"]}