Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.
Ticket rules turn reviews that match certain conditions into support tickets automatically. When a review needs more than a public reply, AppReply creates a ticket in your connected helpdesk so your support team can follow up directly. This is one-way triage: the conversation continues in your helpdesk, and the ticket’s status shows on the review. You can also create a ticket from a single review by hand: see Create a ticket by hand.
Ticket rules are a Pro-plan feature. On a lower plan you can still see any existing rules, and disable them, but creating, editing, or re-enabling one requires Pro.
Supported helpdesk providers
Zendesk
OAuth connection. Create an OAuth client in your Zendesk Admin Center first. You enter its OAuth Client ID and OAuth Client Secret, plus your Zendesk subdomain, and set the redirect URL in Zendesk to the one the connect dialog shows. Some organizations are offered a one-click connection instead.
Intercom
OAuth connection. Needs your own Intercom OAuth app (its OAuth Client ID and OAuth Client Secret) and a default requester email. Set the redirect URL in Intercom to the one the connect dialog shows.
Salesforce
Email connection. You paste your Salesforce Email-to-Case address and confirm it from Salesforce. Each review becomes one email that Salesforce turns into a Case. No sign-in or package is needed.
Freshdesk, Help Scout, Front or any helpdesk by email
Email connection. You paste the address your helpdesk makes tickets from and confirm it there. Each review becomes one email that your helpdesk turns into a ticket.
Connect your helpdesk provider on the Integrations page before creating ticket rules. It’s a top-level item in the sidebar (grouped with Applications and Scorecard), not under Settings.
Setting up a ticket rule
1
Connect your helpdesk
Go to Integrations and connect your Zendesk, Intercom or Salesforce account under Helpdesk connections. Ticket rules can’t be created until at least one connection exists.
2
Create a ticket rule
In the Ticket rules section of the same page, click Create Rule (or Create your first rule when there is none yet). Give it a Rule name, pick the Helpdesk connection it should use, and choose the Application it applies to: All apps, or one specific app. To filter by country, pick one App Store app.
3
Set the rating threshold
Pick a threshold from the dropdown: 1 star only, 2 stars or below, 3 stars or below, 4 stars or below, or All ratings. Reviews at or below the threshold trigger the rule.
4
Add optional conditions
Under Additional conditions (optional), click Add condition to narrow the rule further: Keywords, Topic, Language, Review length and Country. A review must match the rating and every condition you add. See Filter by topic and country.
5
Configure the ticket
Set the ticket subject template, a default priority, and optional tags (see below).
Filter by topic and country
A rule can send only the reviews your support team should see, for example crash reports from Germany. Click Add condition under Additional conditions (optional) and pick a condition.
The panel says A review must match every row. A review becomes a ticket only when it matches the rating threshold and every condition.
Topic
A topic condition matches reviews that Analytics has tagged with any of the topics you pick, for example App crashes & freezes.
1
Add a Topic row
Click Add condition and choose Topic. The row reads is any of.
2
Pick topics or a category
Type in Add a topic or category and pick a topic from the list. You can also pick a whole category under Categories, which covers every topic in it, including topics added to it later. Add as many as you need.
Topics need Analytics switched on, and they work for your own apps only, not for competitor apps you track. There is only is any of: a rule can’t say “not this topic”, because a review that has not been analysed yet would look like it has no topic and would be sent.When the ticket is created. Analytics tags a review a few minutes after it arrives in AppReply, so a topic rule creates the ticket when the topic arrives, on the next run after that. Rules run every 10 minutes. A topic rule looks at topics tagged in the last 24 hours, and never at topics tagged before you created the rule, last changed its topics, or moved it to another app or helpdesk. Creating a topic rule, or adding a topic to one, does not send a batch of older reviews to your helpdesk.
Country
A country condition matches reviews by the App Store storefront they were left on.
1
Pick one App Store app
Set Application to one App Store app. Country is offered only then. It is not offered for All apps or for a Google Play app, because Google Play does not say which country a review came from.
2
Add a Country row
Click Add condition and choose Country. Pick from or not from.
3
Pick the storefronts
Open All countries, search with Search a storefront and pick one or more countries, for example Germany.
Then set the ticket fields and click Create Rule, or Update Rule when you edit a rule.
Rows that are not finished
A row without a value says Pick a value, or this row filters nothing. You can’t save the rule until you finish the row or remove it with its x.
Changing the app drops conditions it can’t keep
Topics belong to one app, and Country needs one App Store app. If you change Application after adding them, AppReply removes the conditions the new choice can’t keep and tells you so above the conditions, for example: “Removed the country condition. It only applies when every watched app is an App Store app. Removed topics that belong to apps this rule no longer watches.”
Language includes regional variants
A Language condition also matches regional variants of the language. German matches German reviews from Austria and Switzerland too.
Limits
Topic and Country, like all ticket rules, need the Pro plan.
For App Store apps, pick single topics. A topic that reaches the rule only through a category does not create tickets for App Store reviews yet.
A rule with a Country condition and no Topic rarely creates a ticket for now. A rule without a topic only checks reviews that were posted in the store in the last 2 hours, and App Store reviews usually reach AppReply later than that. Country works only on App Store apps, so most of those reviews are already too old for the rule when they arrive. Add a Topic condition to the rule to avoid this: a topic rule creates its ticket when the topic is tagged, whatever the review’s date.
At most 25 topic tickets are created per run. If your helpdesk refuses a ticket, AppReply tries again on later runs while the topic is less than a day old. A helpdesk that fails 3 times in a row gets no more topic tickets until the next run.
A review still becomes at most one ticket per helpdesk connection, whichever rule finds it first.
Ticket details
Each ticket includes the full review text and metadata so your support team has context without switching tools.
Subject templates
The ticket subject is a template you control, with variables that pull in review metadata: {rating}, {app_name}, {author_name}, and {review_text_preview}. The default is:
App Review: {rating}★ — {app_name}
Priority
Each Zendesk or Intercom rule has a single default ticket priority (Low, Normal, High, or Urgent) applied to every ticket it creates. Salesforce rules have no priority. Set it based on what the rule targets: rules that target very low ratings or urgent keywords should default to a higher priority than rules covering general feedback.
Tags
Add a comma-separated list of tags to a Zendesk or Intercom rule; every ticket it creates carries those tags, which helps your support team categorize and route them at a glance (e.g. app-review, triage).
Cooldown
Each review creates at most one ticket per helpdesk connection. If a review already has a ticket in that helpdesk, any further matching rule on the same connection creates nothing, whatever the cooldown is set to. The rule form still has a cooldown field in hours, but today it has no effect on whether a ticket is created.
If a reviewer edits their review with a new complaint after a ticket was created, follow up in the existing ticket in your helpdesk. AppReply does not open a second ticket for the same review on the same connection. With Salesforce, AppReply emails the edit as an [UPD] message in the same thread, as described in the Salesforce integration.
Create a ticket by hand
You can also create a ticket from one review, without a ticket rule:
1
Open the review
On a review card in the reviews feed, click Create ticket. The button shows on reviews of your own apps once a helpdesk is connected.
2
Check the ticket
In the Create Helpdesk Ticket dialog, check the pre-filled Subject and Priority. The priority is set from the star rating: Urgent for 1 star, High for 2 stars and Normal otherwise. If you have more than one connection, pick the helpdesk. You can also add tags. For Salesforce, the priority and tags are not shown.
3
Create it
Click Create ticket.
A ticket created by hand does not depend on any ticket rule, rating threshold or cooldown. Once a review has a ticket, its card shows the ticket’s status from your helpdesk instead of the Create ticket button. The conversation with the customer continues in your helpdesk.
Send past reviews
A ticket rule only sees new reviews. To also send the matching reviews from the past 7, 30 or 90 days, send them once from the rule. AppReply counts the reviews first and tells you how many tickets that makes. Nothing is sent until you confirm, and you can stop at any time.Sending past reviews works with Zendesk and Intercom connections. It needs the Pro plan (or the Pro trial), like every ticket rule.
Start from a rule
On a new rule: at the bottom of the Create ticket rule form, in Past reviews, tick After saving, send matching reviews from the past too. Press Create Rule. The rule is saved and the Send past reviews dialog opens.
On a saved rule: press the pencil on the rule in Ticket rules. In Past reviews, press Send past reviews…. It uses the saved rule, so save any changes to the rule first. The form closes and the Send past reviews dialog opens.
Count, then send
1
Choose how far back
Under Reviews from the past, pick 7 days, 30 days or 90 days. Reviews that already have a reply are left out. To include them, tick Include reviews that already have a reply. Then press Count reviews. Counting takes a few seconds.
2
Check the count
The dialog says how many tickets it will create, for example “This creates 20 Zendesk tickets, one for each review from the past 30 days that matches “Negative reviews”.” A short list under it says what was left out, for example reviews that already have a ticket, reviews that already have a reply, and the newest three hours, which the rule handles itself.
3
Send
Press Create 20 tickets (the number is the count). To change the period, press Back: that throws the count away. Confirm within 30 minutes, or count again.If nothing is left to send, the dialog says that no reviews from that period match the rule and still need a ticket, with Change period and Close.
Follow it and stop it
Under the rule in Ticket rules, a line shows the progress, for example “Sending past reviews: 3 of 20”, with a Stop button. It updates every few seconds.
Stop ends it before the next ticket. A ticket that is being created at that moment is kept. When it ends, the line says how many tickets were sent, for example “Past reviews sent: 20 tickets”, or “Past reviews stopped after 7 tickets (18 skipped)”, and it stays for a day.In Zendesk or Intercom, each past review arrives as an ordinary ticket, the same as the tickets the rule creates for new reviews, with the rule’s subject, priority and tags.
Limits of sending past reviews
Zendesk and Intercom only. Not Salesforce or other helpdesks connected by email.
Periods are 7, 30 or 90 days, counted by the review’s date in the store. The newest three hours are never included: the rule itself handles those.
At most 100 tickets per send. When more reviews match, the newest are sent. Send again for the next ones.
At most 300 past reviews per helpdesk in any 24 hours.
One send at a time per helpdesk.
One ticket a second. 100 tickets take about two minutes.
Your own apps only, never competitor apps you track, and only reviews from the countries you monitor for each app.
No duplicates. A review gets at most one ticket per helpdesk, whether from a rule, Create ticket or a send of past reviews. A review that gets a ticket or a reply between the count and the send is skipped.
If three tickets in a row don’t go through, the send stops and the rule’s line says why. It also stops if the rule is deleted, the helpdesk is disconnected, the Pro plan ends, or the send takes more than a day.
If you edit the rule while past reviews are being sent, the send keeps the subject, priority and tags it started with.
Questions about past reviews
Will I get duplicate tickets?
No. A review never gets a second ticket on the same helpdesk. If you count the same period again, the dialog says those reviews already have a ticket and are left out.
Can I send more than 100?
Yes. Send again: the next send takes the next newest reviews, up to 300 a day for each helpdesk.
Can I send a whole year?
Not yet. 90 days is the longest period.
Why are reviews from the last few hours missing?
The rule sends those itself, so the newest three hours are left out.
Does it work with Salesforce or other helpdesks connected by email?
Not yet. Use Create ticket on a single review instead.
Can I undo it?
Stop ends it. Tickets already created stay in your helpdesk: close or delete them there.
Zendesk or Intercom did not answer for one review. Was a ticket created?
Maybe. AppReply counts that review as not confirmed and does not send it again in a later send. Look for it in your helpdesk.
Enabling and disabling rules
Each rule has its own on/off switch. Disabling a rule is always available, even on a downgraded plan, so you can silence old rules without losing their configuration. When you turn a topic rule back on, it can send matching reviews whose topics were tagged in the last 24 hours, up to 25 per run. If your organization loses Pro access while a rule is still enabled, the rule goes dormant: it stops creating tickets, and shows a Not firing warning saying a Pro plan is required until you either re-enable it (after upgrading) or disable it.
Questions about topic and country
Why did a review with this topic not become a ticket right away?
Analytics tags the topic a few minutes after the review arrives. The ticket follows on the next run after that, and rules run every 10 minutes.
Can I filter Google Play reviews by country?
No. Google Play does not say which country a review came from, so Country is offered only for a rule on one App Store app.
Can I exclude a topic?
No. A review that has not been analysed yet would look like it has no topic and would be sent, so topics only offer is any of.
Will a new topic rule send old reviews?
No. A topic rule ignores topics tagged before you created it. A rule without a topic checks the reviews that were posted in the store in the last 2 hours, as soon as it is on.
Will my existing rules behave differently?
Rules whose conditions are all finished work as before, except that a Language condition now includes regional variants. If an older rule has a row without a value, it sends no tickets and shows Pick a value, or this row filters nothing. Finish the row or remove it, then save the rule.
A rule says a topic was removed or merged
The topic was removed or merged into another in Analytics. The rule keeps working on its other topics. Remove the old topic from the rule and pick the topic again.
Topics need Analytics, which is not switched on for this organization
Switch Analytics on to use a Topic condition. If you switch Analytics off later, topic rules stop finding new topics.
Combining ticket rules with auto-replies
Ticket rules and auto-reply automations can work together, since they’re independent systems. For example, you might auto-reply to a 1-star review with an empathetic response while a ticket rule creates a Zendesk ticket at the same time for your support team to investigate.This gives the reviewer an immediate public acknowledgment and ensures your team follows up privately.
Make sure your support team knows that these tickets come from app reviews. The user may not have provided an email address, so replies through the helpdesk may not reach them directly.
Next steps
Triggers
Learn more about the conditions you can use to target specific reviews
Actions
Configure the response methods for your auto-reply automations
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"AppReply Documentation","description":"Documentation for AppReply, app review management software. Connect App Store, Google Play, Samsung Galaxy Store, Huawei AppGallery and RuStore, auto-reply to reviews in 100+ languages with AppReply MAX, grade replies with Reply Quality scorecards, and analyze review topics.","colors":{"primary":"#6D28D9","light":"#A78BFA","dark":"#6D28D9"},"logo":{"light":"https://mintcdn.com/appreply/5DZreiT3ArtzXXD6/logo/light.svg?fit=max\u0026auto=format\u0026n=5DZreiT3ArtzXXD6\u0026q=85\u0026s=62160f916167875087e9cbb8fc614850","dark":"https://mintcdn.com/appreply/5DZreiT3ArtzXXD6/logo/dark.svg?fit=max\u0026auto=format\u0026n=5DZreiT3ArtzXXD6\u0026q=85\u0026s=9a7f3217504334c75a19888f4da1cab9"},"favicon":"https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/favicon.png?fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=e5c2a2e45f8bdd37dc3ceebc4f6118ab","navbar":{"links":[{"href":"https://appreply.co/product/ai-agent","label":"RADAR"},{"href":"https://appreply.co/product/monitor","label":"Product"},{"href":"https://appreply.co/solutions","label":"Solutions"},{"href":"https://appreply.co/pricing","label":"Pricing"},{"href":"https://appreply.co/blog","label":"Blog"}],"primary":{"type":"button","label":"Dashboard","href":"https://appreply.co/dashboard/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/appreply"},"links":[{"header":"Product","items":[{"label":"Monitor","href":"https://appreply.co/product/monitor"},{"label":"Analyze","href":"https://appreply.co/product/analyze"},{"label":"AI agent","href":"https://appreply.co/product/ai-agent"},{"label":"Reply","href":"https://appreply.co/product/respond"},{"label":"Reply quality","href":"https://appreply.co/product/reply-quality"},{"label":"Supported stores","href":"https://appreply.co/stores"},{"label":"Integrations","href":"https://appreply.co/integrations"}]},{"header":"Solutions","items":[{"label":"Auto-replies","href":"https://appreply.co/solutions/auto-replies"},{"label":"Trends","href":"https://appreply.co/solutions/trends"},{"label":"Alerts","href":"https://appreply.co/solutions/alerts"},{"label":"Head of mobile","href":"https://appreply.co/for/head-of-mobile"},{"label":"Mobile PMs","href":"https://appreply.co/for/product-managers"},{"label":"Customer support","href":"https://appreply.co/for/customer-support"},{"label":"Games","href":"https://appreply.co/for/games"}]},{"header":"Resources","items":[{"label":"Blog","href":"https://appreply.co/blog"},{"label":"Changelog","href":"https://appreply.co/changelog"},{"label":"Customers","href":"https://appreply.co/customers"},{"label":"Pricing","href":"https://appreply.co/pricing"},{"label":"MCP server","href":"https://appreply.co/integrations/mcp"},{"label":"llms.txt","href":"https://appreply.co/llms.txt"}]},{"header":"Company","items":[{"label":"Contact","href":"https://appreply.co/contact"},{"label":"Terms","href":"https://appreply.co/terms"},{"label":"Privacy","href":"https://appreply.co/privacy"},{"label":"DPA \u0026 GDPR","href":"https://appreply.co/dpa"}]}]},"search":{"prompt":"Search the docs"},"seo":{"metatags":{"og:site_name":"AppReply docs","twitter:card":"summary_large_image"},"organization":{"id":"https://appreply.co/#organization","name":"AppReply","url":"https://appreply.co","sameAs":["https://www.linkedin.com/company/appreply","https://github.com/appreply-co"]}},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"appreply","hasAudioNarration":false,"actualSubdomain":"appreply","customDomains":["docs.appreply.co"],"gitSource":{"type":"github","owner":"appreply-co","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false},"entitlements":{},"buildId":"6af62752b70c4682939b8b66","clientVersion":"0.0.4138","searchFilterCounts":[{"language":"default","tag":"Integrations","count":14},{"language":"default","tag":"Review Management","count":10},{"language":"default","tag":"Essentials","count":9},{"language":"default","tag":"Helpdesk","count":8},{"language":"default","tag":"RADAR assistant","count":7},{"language":"default","tag":"Analytics","count":6},{"language":"default","tag":"App stores","count":5},{"language":"default","tag":"Organizations \u0026 Billing","count":4},{"language":"default","tag":"Auto‑Replies","count":4},{"language":"default","tag":"Reply Quality","count":3}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"auto-replies/escalation","slug":"/auto-replies/escalation","pageMetadata":{"title":"Helpdesk ticket rules","description":"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.","icon":"headset","href":"/auto-replies/escalation"},"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: \"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.\"\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={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Ticket rules turn reviews that match certain conditions into support tickets automatically. When a review needs more than a public reply, AppReply creates a ticket in your connected helpdesk so your support team can follow up directly. This is one-way triage: the conversation continues in your helpdesk, and the ticket’s status shows on the review. You can also create a ticket from a single review by hand: see `,_jsx(_components.a,{href:`#create-a-ticket-by-hand`,children:`Create a ticket by hand`}),`.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=edb55e1ed661ee3b82c5b20d5f19fbb7`,alt:`The Integrations page: App integrations, Helpdesk connections, and the rules section, with no rules created yet`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1964`,height:`1964`,\"data-path\":`images/product/applications/33-integrations.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?w=280\u0026fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=d0419b5e3102b500d1c2a59ebf638c64 280w, https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?w=560\u0026fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=c3398310d072e8c7ad80e108a7c3c31d 560w, https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?w=840\u0026fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=441ffb6c88c54fa775a628e500a51e61 840w, https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=0edef786aeb23af727cf4f633be5744f 1100w, https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=503fbfa13907162f1d5b1f7c8645b7ba 1650w, https://mintcdn.com/appreply/dQTFfB6sgmzm8u0J/images/product/applications/33-integrations.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dQTFfB6sgmzm8u0J\u0026q=85\u0026s=96302a6bccde8ee4e0dc8eaf3fb23bce 2500w`})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Ticket rules are a Pro-plan feature. On a lower plan you can still see any existing rules, and disable them, but creating, editing, or re-enabling one requires Pro.`})}),`\n`,_jsx(Heading,{level:`2`,id:`supported-helpdesk-providers`,children:`Supported helpdesk providers`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Zendesk`,icon:`headset`,children:_jsxs(_components.p,{children:[`OAuth connection. Create an OAuth client in your Zendesk Admin Center first. You enter its `,_jsx(_components.strong,{children:`OAuth Client ID`}),` and `,_jsx(_components.strong,{children:`OAuth Client Secret`}),`, plus your Zendesk subdomain, and set the redirect URL in Zendesk to the one the connect dialog shows. Some organizations are offered a one-click connection instead.`]})}),_jsx(Card,{title:`Intercom`,icon:`comments`,children:_jsxs(_components.p,{children:[`OAuth connection. Needs your own Intercom OAuth app (its `,_jsx(_components.strong,{children:`OAuth Client ID`}),` and `,_jsx(_components.strong,{children:`OAuth Client Secret`}),`) and a default requester email. Set the redirect URL in Intercom to the one the connect dialog shows.`]})}),_jsx(Card,{title:`Salesforce`,icon:`cloud`,href:`/integrations/helpdesk/salesforce`,children:_jsx(_components.p,{children:`Email connection. You paste your Salesforce Email-to-Case address and confirm it from Salesforce. Each review becomes one email that Salesforce turns into a Case. No sign-in or package is needed.`})}),_jsx(Card,{title:`Freshdesk, Help Scout, Front or any helpdesk by email`,icon:`envelope`,href:`/integrations/helpdesk/email`,children:_jsx(_components.p,{children:`Email connection. You paste the address your helpdesk makes tickets from and confirm it there. Each review becomes one email that your helpdesk turns into a ticket.`})})]}),`\n`,_jsxs(_components.p,{children:[`Connect your helpdesk provider on the `,_jsx(_components.strong,{children:`Integrations`}),` page before creating ticket rules. It’s a top-level item in the sidebar (grouped with Applications and Scorecard), not under Settings.`]}),`\n`,_jsx(Heading,{level:`2`,id:`setting-up-a-ticket-rule`,children:`Setting up a ticket rule`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Connect your helpdesk`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Integrations`}),` and connect your Zendesk, Intercom or Salesforce account under `,_jsx(_components.strong,{children:`Helpdesk connections`}),`. Ticket rules can’t be created until at least one connection exists.`]})}),_jsx(Step,{title:`Create a ticket rule`,children:_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Ticket rules`}),` section of the same page, click `,_jsx(_components.strong,{children:`Create Rule`}),` (or `,_jsx(_components.strong,{children:`Create your first rule`}),` when there is none yet). Give it a `,_jsx(_components.strong,{children:`Rule name`}),`, pick the `,_jsx(_components.strong,{children:`Helpdesk connection`}),` it should use, and choose the `,_jsx(_components.strong,{children:`Application`}),` it applies to: `,_jsx(_components.strong,{children:`All apps`}),`, or one specific app. To filter by country, pick one App Store app.`]})}),_jsx(Step,{title:`Set the rating threshold`,children:_jsxs(_components.p,{children:[`Pick a threshold from the dropdown: `,_jsx(_components.strong,{children:`1 star only`}),`, `,_jsx(_components.strong,{children:`2 stars or below`}),`, `,_jsx(_components.strong,{children:`3 stars or below`}),`, `,_jsx(_components.strong,{children:`4 stars or below`}),`, or `,_jsx(_components.strong,{children:`All ratings`}),`. Reviews at or below the threshold trigger the rule.`]})}),_jsx(Step,{title:`Add optional conditions`,children:_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Additional conditions (optional)`}),`, click `,_jsx(_components.strong,{children:`Add condition`}),` to narrow the rule further: `,_jsx(_components.strong,{children:`Keywords`}),`, `,_jsx(_components.strong,{children:`Topic`}),`, `,_jsx(_components.strong,{children:`Language`}),`, `,_jsx(_components.strong,{children:`Review length`}),` and `,_jsx(_components.strong,{children:`Country`}),`. A review must match the rating and every condition you add. See `,_jsx(_components.a,{href:`#filter-by-topic-and-country`,children:`Filter by topic and country`}),`.`]})}),_jsx(Step,{title:`Configure the ticket`,children:_jsx(_components.p,{children:`Set the ticket subject template, a default priority, and optional tags (see below).`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`filter-by-topic-and-country`,children:`Filter by topic and country`}),`\n`,_jsxs(_components.p,{children:[`A rule can send only the reviews your support team should see, for example crash reports from Germany. Click `,_jsx(_components.strong,{children:`Add condition`}),` under `,_jsx(_components.strong,{children:`Additional conditions (optional)`}),` and pick a condition.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=0335ac6fdfc5ffcbe331e6595250758a`,alt:`The Add condition menu: Keywords, Topic (reviews tagged with certain topics or categories), Language, Review length, and Country (App Store storefronts, App Store apps only)`,\"data-og-width\":`284`,width:`284`,\"data-og-height\":`314`,height:`314`,\"data-path\":`images/product/applications/33m-integrations--ticket-rule-add-condition.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?w=280\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=6b728b4be60ee3c87bff8d0b1a2ed1d7 280w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?w=560\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=9c9d21f2aed2645fcafeafc03f94ada3 560w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?w=840\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=4151179991b55a8162e4d56e1e2c8a59 840w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?w=1100\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=d44b568038ca39818250063459983235 1100w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?w=1650\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=c444e00d24761a8e4ae4eea0ed46757a 1650w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33m-integrations--ticket-rule-add-condition.png?w=2500\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=acb8e4562dc50bc87af736f33e40edb1 2500w`})}),`\n`,_jsxs(_components.p,{children:[`The panel says `,_jsx(_components.strong,{children:`A review must match every row.`}),` A review becomes a ticket only when it matches the rating threshold and every condition.`]}),`\n`,_jsx(Heading,{level:`3`,id:`topic`,children:`Topic`}),`\n`,_jsxs(_components.p,{children:[`A topic condition matches reviews that `,_jsx(_components.a,{href:`/analytics/topics`,children:`Analytics`}),` has tagged with any of the topics you pick, for example `,_jsx(_components.strong,{children:`App crashes \u0026 freezes`}),`.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add a Topic row`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add condition`}),` and choose `,_jsx(_components.strong,{children:`Topic`}),`. The row reads `,_jsx(_components.strong,{children:`is any of`}),`.`]})}),_jsxs(Step,{title:`Pick topics or a category`,children:[_jsxs(_components.p,{children:[`Type in `,_jsx(_components.strong,{children:`Add a topic or category`}),` and pick a topic from the list. You can also pick a whole category under `,_jsx(_components.strong,{children:`Categories`}),`, which covers every topic in it, including topics added to it later. Add as many as you need.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=647a2117d90c862969fa2b987169477d`,alt:`A Topic row with crash typed in the search box and App crashes \u0026 freezes offered under Topics. Rows without a value say: Pick a value, or this row filters nothing.`,\"data-og-width\":`658`,width:`658`,\"data-og-height\":`225`,height:`225`,\"data-path\":`images/product/applications/33n-integrations--ticket-rule-topic-picker.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?w=280\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=024c137ae9f669e2868889796ce915d2 280w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?w=560\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=b42b32e25be2b93690ccf32968e600b8 560w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?w=840\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=f70e53ddca9da7b28b194c960c88aa38 840w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?w=1100\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=92b7cf1e30c793e521fbcfe862c67525 1100w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?w=1650\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=cf1e0f517a4bec7b748ff0201c960f3a 1650w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33n-integrations--ticket-rule-topic-picker.png?w=2500\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=83aa29f4c591eee401ce064ec75ba7b9 2500w`})})]})]}),`\n`,_jsxs(_components.p,{children:[`Topics need Analytics switched on, and they work for your own apps only, not for competitor apps you track. There is only `,_jsx(_components.strong,{children:`is any of`}),`: a rule can’t say “not this topic”, because a review that has not been analysed yet would look like it has no topic and would be sent.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`When the ticket is created.`}),` Analytics tags a review a few minutes after it arrives in AppReply, so a topic rule creates the ticket when the topic arrives, on the next run after that. Rules run every 10 minutes. A topic rule looks at topics tagged in the last 24 hours, and never at topics tagged before you created the rule, last changed its topics, or moved it to another app or helpdesk. Creating a topic rule, or adding a topic to one, does not send a batch of older reviews to your helpdesk.`]}),`\n`,_jsx(Heading,{level:`3`,id:`country`,children:`Country`}),`\n`,_jsx(_components.p,{children:`A country condition matches reviews by the App Store storefront they were left on.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Pick one App Store app`,children:_jsxs(_components.p,{children:[`Set `,_jsx(_components.strong,{children:`Application`}),` to one App Store app. `,_jsx(_components.strong,{children:`Country`}),` is offered only then. It is not offered for `,_jsx(_components.strong,{children:`All apps`}),` or for a Google Play app, because Google Play does not say which country a review came from.`]})}),_jsx(Step,{title:`Add a Country row`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add condition`}),` and choose `,_jsx(_components.strong,{children:`Country`}),`. Pick `,_jsx(_components.strong,{children:`from`}),` or `,_jsx(_components.strong,{children:`not from`}),`.`]})}),_jsxs(Step,{title:`Pick the storefronts`,children:[_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`All countries`}),`, search with `,_jsx(_components.strong,{children:`Search a storefront`}),` and pick one or more countries, for example `,_jsx(_components.strong,{children:`Germany`}),`.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=de5cc403556d22ba39229a83056442e6`,alt:`The Create ticket rule window for an App Store app, rated 2 stars or below, with two conditions: Topic is any of App crashes \u0026 freezes, and Country from Germany. Create Rule is enabled.`,\"data-og-width\":`689`,width:`689`,\"data-og-height\":`713`,height:`713`,\"data-path\":`images/product/applications/33o-integrations--ticket-rule-topic-country.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?w=280\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=ea2baad448d548bac401bc158305536b 280w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?w=560\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=7886665c1135b56b921f20da9008fc82 560w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?w=840\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=b20311b544e08d84c0bf486d59375d42 840w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?w=1100\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=da25b1b13c3f1f831ca8cec76b745901 1100w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?w=1650\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=50c42039dc6d2a2fde5d1da779dce1a5 1650w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33o-integrations--ticket-rule-topic-country.png?w=2500\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=8c19dd170d745558ac3eb5abf7818766 2500w`})})]})]}),`\n`,_jsxs(_components.p,{children:[`Then set the ticket fields and click `,_jsx(_components.strong,{children:`Create Rule`}),`, or `,_jsx(_components.strong,{children:`Update Rule`}),` when you edit a rule.`]}),`\n`,_jsx(Heading,{level:`3`,id:`rows-that-are-not-finished`,children:`Rows that are not finished`}),`\n`,_jsxs(_components.p,{children:[`A row without a value says `,_jsx(_components.strong,{children:`Pick a value, or this row filters nothing.`}),` You can’t save the rule until you finish the row or remove it with its `,_jsx(_components.strong,{children:`x`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`changing-the-app-drops-conditions-it-can’t-keep`,children:`Changing the app drops conditions it can’t keep`}),`\n`,_jsxs(_components.p,{children:[`Topics belong to one app, and Country needs one App Store app. If you change `,_jsx(_components.strong,{children:`Application`}),` after adding them, AppReply removes the conditions the new choice can’t keep and tells you so above the conditions, for example: “Removed the country condition. It only applies when every watched app is an App Store app. Removed topics that belong to apps this rule no longer watches.”`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=f9d9291289c85f0def285b524d6052a9`,alt:`The Create ticket rule window after switching Application to a Google Play app: a notice says the country condition and the topics of the other app were removed`,\"data-og-width\":`689`,width:`689`,\"data-og-height\":`506`,height:`506`,\"data-path\":`images/product/applications/33p-integrations--ticket-rule-country-removed.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?w=280\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=52fcf642f18955b80d31291407d4a320 280w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?w=560\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=82d0c7d361c564b4c5f248b82d7c548b 560w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?w=840\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=7a9b46aa027d7b54d03b7bf9d0117a22 840w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?w=1100\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=e6061ea273e4a388af13e3b1755ff00b 1100w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?w=1650\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=93257eac6b2fc7e6758a024c5afe3aaa 1650w, https://mintcdn.com/appreply/QKsKUpx6Pxk9l4Y_/images/product/applications/33p-integrations--ticket-rule-country-removed.png?w=2500\u0026fit=max\u0026auto=format\u0026n=QKsKUpx6Pxk9l4Y_\u0026q=85\u0026s=482309ff67e5615ce9341e625ae4414e 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`language-includes-regional-variants`,children:`Language includes regional variants`}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.strong,{children:`Language`}),` condition also matches regional variants of the language. `,_jsx(_components.strong,{children:`German`}),` matches German reviews from Austria and Switzerland too.`]}),`\n`,_jsx(Heading,{level:`3`,id:`limits`,children:`Limits`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Topic and Country, like all ticket rules, need the Pro plan.`}),`\n`,_jsx(_components.li,{children:`For App Store apps, pick single topics. A topic that reaches the rule only through a category does not create tickets for App Store reviews yet.`}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A rule with a Country condition and no Topic rarely creates a ticket for now.`}),` A rule without a topic only checks reviews that were posted in the store in the last 2 hours, and App Store reviews usually reach AppReply later than that. Country works only on App Store apps, so most of those reviews are already too old for the rule when they arrive. Add a Topic condition to the rule to avoid this: a topic rule creates its ticket when the topic is tagged, whatever the review’s date.`]}),`\n`,_jsx(_components.li,{children:`At most 25 topic tickets are created per run. If your helpdesk refuses a ticket, AppReply tries again on later runs while the topic is less than a day old. A helpdesk that fails 3 times in a row gets no more topic tickets until the next run.`}),`\n`,_jsx(_components.li,{children:`A review still becomes at most one ticket per helpdesk connection, whichever rule finds it first.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`ticket-details`,children:`Ticket details`}),`\n`,_jsx(_components.p,{children:`Each ticket includes the full review text and metadata so your support team has context without switching tools.`}),`\n`,_jsx(Heading,{level:`3`,id:`subject-templates`,children:`Subject templates`}),`\n`,_jsxs(_components.p,{children:[`The ticket subject is a template you control, with variables that pull in review metadata: `,_jsx(_components.code,{children:`{rating}`}),`, `,_jsx(_components.code,{children:`{app_name}`}),`, `,_jsx(_components.code,{children:`{author_name}`}),`, and `,_jsx(_components.code,{children:`{review_text_preview}`}),`. The default is:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`App Review: {rating}★ — {app_name}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`priority`,children:`Priority`}),`\n`,_jsxs(_components.p,{children:[`Each Zendesk or Intercom rule has a single default ticket priority (`,_jsx(_components.strong,{children:`Low`}),`, `,_jsx(_components.strong,{children:`Normal`}),`, `,_jsx(_components.strong,{children:`High`}),`, or `,_jsx(_components.strong,{children:`Urgent`}),`) applied to every ticket it creates. Salesforce rules have no priority. Set it based on what the rule targets: rules that target very low ratings or urgent keywords should default to a higher priority than rules covering general feedback.`]}),`\n`,_jsx(Heading,{level:`3`,id:`tags`,children:`Tags`}),`\n`,_jsxs(_components.p,{children:[`Add a comma-separated list of tags to a Zendesk or Intercom rule; every ticket it creates carries those tags, which helps your support team categorize and route them at a glance (e.g. `,_jsx(_components.code,{children:`app-review, triage`}),`).`]}),`\n`,_jsx(Heading,{level:`2`,id:`cooldown`,children:`Cooldown`}),`\n`,_jsx(_components.p,{children:`Each review creates at most one ticket per helpdesk connection. If a review already has a ticket in that helpdesk, any further matching rule on the same connection creates nothing, whatever the cooldown is set to. The rule form still has a cooldown field in hours, but today it has no effect on whether a ticket is created.`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`If a reviewer edits their review with a new complaint after a ticket was created, follow up in the existing ticket in your helpdesk. AppReply does not open a second ticket for the same review on the same connection. With Salesforce, AppReply emails the edit as an `,_jsx(_components.strong,{children:`[UPD]`}),` message in the same thread, as described in the `,_jsx(_components.a,{href:`/integrations/helpdesk/salesforce#edited-reviews`,children:`Salesforce integration`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-ticket-by-hand`,children:`Create a ticket by hand`}),`\n`,_jsx(_components.p,{children:`You can also create a ticket from one review, without a ticket rule:`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the review`,children:_jsxs(_components.p,{children:[`On a review card in the reviews feed, click `,_jsx(_components.strong,{children:`Create ticket`}),`. The button shows on reviews of your own apps once a helpdesk is connected.`]})}),_jsx(Step,{title:`Check the ticket`,children:_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Create Helpdesk Ticket`}),` dialog, check the pre-filled `,_jsx(_components.strong,{children:`Subject`}),` and `,_jsx(_components.strong,{children:`Priority`}),`. The priority is set from the star rating: `,_jsx(_components.strong,{children:`Urgent`}),` for 1 star, `,_jsx(_components.strong,{children:`High`}),` for 2 stars and `,_jsx(_components.strong,{children:`Normal`}),` otherwise. If you have more than one connection, pick the helpdesk. You can also add tags. For Salesforce, the priority and tags are not shown.`]})}),_jsx(Step,{title:`Create it`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create ticket`}),`.`]})})]}),`\n`,_jsxs(_components.p,{children:[`A ticket created by hand does not depend on any ticket rule, rating threshold or cooldown. Once a review has a ticket, its card shows the ticket’s status from your helpdesk instead of the `,_jsx(_components.strong,{children:`Create ticket`}),` button. The conversation with the customer continues in your helpdesk.`]}),`\n`,_jsx(Heading,{level:`2`,id:`send-past-reviews`,children:`Send past reviews`}),`\n`,_jsx(_components.p,{children:`A ticket rule only sees new reviews. To also send the matching reviews from the past 7, 30 or 90 days, send them once from the rule. AppReply counts the reviews first and tells you how many tickets that makes. Nothing is sent until you confirm, and you can stop at any time.`}),`\n`,_jsxs(_components.p,{children:[`Sending past reviews works with `,_jsx(_components.strong,{children:`Zendesk`}),` and `,_jsx(_components.strong,{children:`Intercom`}),` connections. It needs the Pro plan (or the Pro trial), like every ticket rule.`]}),`\n`,_jsx(Heading,{level:`3`,id:`start-from-a-rule`,children:`Start from a rule`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`On a new rule:`}),` at the bottom of the `,_jsx(_components.strong,{children:`Create ticket rule`}),` form, in `,_jsx(_components.strong,{children:`Past reviews`}),`, tick `,_jsx(_components.strong,{children:`After saving, send matching reviews from the past too`}),`. Press `,_jsx(_components.strong,{children:`Create Rule`}),`. The rule is saved and the `,_jsx(_components.strong,{children:`Send past reviews`}),` dialog opens.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`On a saved rule:`}),` press the pencil on the rule in `,_jsx(_components.strong,{children:`Ticket rules`}),`. In `,_jsx(_components.strong,{children:`Past reviews`}),`, press `,_jsx(_components.strong,{children:`Send past reviews…`}),`. It uses the saved rule, so save any changes to the rule first. The form closes and the `,_jsx(_components.strong,{children:`Send past reviews`}),` dialog opens.`]}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=50f803e833c3a1df216356a06e79e722`,alt:`The Past reviews section of the Edit ticket rule form: a hint that the rule only sees new reviews and that you see how many tickets the past reviews make first, and the Send past reviews button`,\"data-og-width\":`670`,width:`670`,\"data-og-height\":`103`,height:`103`,\"data-path\":`images/product/applications/34u-integrations--ticket-rule-past-reviews.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?w=280\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=9589b9a5ea1005d54747b102133550dc 280w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?w=560\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=ddd8af419ca9e273e99107c5f9750249 560w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?w=840\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=bde08e6a6f8ffbc5be11d0a1fa9bf5fd 840w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=a02422d4b0d46f8d9b752a13f6d6498a 1100w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=c5f8e31f8f68ad5c3dc9eedfa3027995 1650w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34u-integrations--ticket-rule-past-reviews.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=d52c767330918068c92331429d532af5 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`count-then-send`,children:`Count, then send`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Choose how far back`,children:[_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Reviews from the past`}),`, pick `,_jsx(_components.strong,{children:`7 days`}),`, `,_jsx(_components.strong,{children:`30 days`}),` or `,_jsx(_components.strong,{children:`90 days`}),`. Reviews that already have a reply are left out. To include them, tick `,_jsx(_components.strong,{children:`Include reviews that already have a reply`}),`. Then press `,_jsx(_components.strong,{children:`Count reviews`}),`. Counting takes a few seconds.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=c01a4c38619822636d1407447aa47dee`,alt:`The Send past reviews dialog: Create a Zendesk ticket for each review from the past that matches Negative reviews, the choice of 7, 30 or 90 days with 30 days selected, the Include reviews that already have a reply checkbox, and the Count reviews button`,\"data-og-width\":`459`,width:`459`,\"data-og-height\":`313`,height:`313`,\"data-path\":`images/product/applications/34v-integrations--send-past-reviews-period.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?w=280\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=59becfd22478780e4f394f69081dafca 280w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?w=560\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=d53c169eea40c2ecfdf1e3c5416984dd 560w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?w=840\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=650dbca83b976ee069a9e1fe400478c8 840w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=957e4bfa0cb01b319fc3bb66c4989ea5 1100w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=d8e81ddb9994c916cd6cec7405e10edf 1650w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34v-integrations--send-past-reviews-period.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=8936872bf46608daf94f80dfd4c79fdb 2500w`})})]}),_jsxs(Step,{title:`Check the count`,children:[_jsxs(_components.p,{children:[`The dialog says how many tickets it will create, for example “This creates `,_jsx(_components.strong,{children:`20 Zendesk tickets`}),`, one for each review from the past 30 days that matches “Negative reviews”.” A short list under it says what was left out, for example reviews that already have a ticket, reviews that already have a reply, and the newest three hours, which the rule handles itself.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=df4ff758e62f31409e618aa3c16cf625`,alt:`The count in the Send past reviews dialog: This creates 20 Zendesk tickets, one for each review from the past 30 days that matches Negative reviews. Tickets go out one a second and you can stop at any time. Below, the reviews left out, and the Back and Create 20 tickets buttons`,\"data-og-width\":`460`,width:`460`,\"data-og-height\":`243`,height:`243`,\"data-path\":`images/product/applications/34w-integrations--send-past-reviews-count.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?w=280\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=4b642a81dcedcf64c7aacb67ca999e06 280w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?w=560\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=ac6c1d86f0d95a7536078e96516fdc85 560w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?w=840\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=7cb851d9c73bed9f3a2b2ccadf8243e5 840w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=1e91d34addb79cb55342d54bf9cee03a 1100w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=c41f8d518dc19b49144242f441195365 1650w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34w-integrations--send-past-reviews-count.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=4060d87288419cf3c88ffc60f4c9ed68 2500w`})})]}),_jsxs(Step,{title:`Send`,children:[_jsxs(_components.p,{children:[`Press `,_jsx(_components.strong,{children:`Create 20 tickets`}),` (the number is the count). To change the period, press `,_jsx(_components.strong,{children:`Back`}),`: that throws the count away. Confirm within 30 minutes, or count again.`]}),_jsxs(_components.p,{children:[`If nothing is left to send, the dialog says that no reviews from that period match the rule and still need a ticket, with `,_jsx(_components.strong,{children:`Change period`}),` and `,_jsx(_components.strong,{children:`Close`}),`.`]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`follow-it-and-stop-it`,children:`Follow it and stop it`}),`\n`,_jsxs(_components.p,{children:[`Under the rule in `,_jsx(_components.strong,{children:`Ticket rules`}),`, a line shows the progress, for example “Sending past reviews: 3 of 20”, with a `,_jsx(_components.strong,{children:`Stop`}),` button. It updates every few seconds.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=35962908690e7e08d1b59244d5e225d9`,alt:`A ticket rule named Negative reviews in the Ticket rules list, with the line Sending past reviews: 3 of 20 and a Stop button`,\"data-og-width\":`1124`,width:`1124`,\"data-og-height\":`95`,height:`95`,\"data-path\":`images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?w=280\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=9b0a7b5584f50090b5edb971e2d9dccc 280w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?w=560\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=487ec6e9903ba9a4599bdb49cd464a47 560w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?w=840\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=59914bead6bf98938f2eabfe1e04527e 840w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?w=1100\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=cbf648cfc387cad7b86ef0036943c951 1100w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?w=1650\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=d5aa6ed429c53b1b27a74109f39823c7 1650w, https://mintcdn.com/appreply/yK80YapjcuU0FoHw/images/product/applications/34x-integrations--ticket-rule-sending-past-reviews.png?w=2500\u0026fit=max\u0026auto=format\u0026n=yK80YapjcuU0FoHw\u0026q=85\u0026s=ffa99831e6315315308129d9b09e2308 2500w`})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Stop`}),` ends it before the next ticket. A ticket that is being created at that moment is kept. When it ends, the line says how many tickets were sent, for example “Past reviews sent: 20 tickets”, or “Past reviews stopped after 7 tickets (18 skipped)”, and it stays for a day.`]}),`\n`,_jsx(_components.p,{children:`In Zendesk or Intercom, each past review arrives as an ordinary ticket, the same as the tickets the rule creates for new reviews, with the rule’s subject, priority and tags.`}),`\n`,_jsx(Heading,{level:`3`,id:`limits-of-sending-past-reviews`,children:`Limits of sending past reviews`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Zendesk and Intercom only.`}),` Not Salesforce or other helpdesks connected by email.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Periods`}),` are 7, 30 or 90 days, counted by the review’s date in the store. The newest three hours are never included: the rule itself handles those.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`At most 100 tickets per send.`}),` When more reviews match, the newest are sent. Send again for the next ones.`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`At most 300 past reviews per helpdesk in any 24 hours.`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`One send at a time per helpdesk.`})}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`One ticket a second.`}),` 100 tickets take about two minutes.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Your own apps only`}),`, never competitor apps you track, and only reviews from the countries you monitor for each app.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No duplicates.`}),` A review gets at most one ticket per helpdesk, whether from a rule, `,_jsx(_components.strong,{children:`Create ticket`}),` or a send of past reviews. A review that gets a ticket or a reply between the count and the send is skipped.`]}),`\n`,_jsx(_components.li,{children:`If three tickets in a row don’t go through, the send stops and the rule’s line says why. It also stops if the rule is deleted, the helpdesk is disconnected, the Pro plan ends, or the send takes more than a day.`}),`\n`,_jsx(_components.li,{children:`If you edit the rule while past reviews are being sent, the send keeps the subject, priority and tags it started with.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`questions-about-past-reviews`,children:`Questions about past reviews`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Will I get duplicate tickets?`,id:`will-i-get-duplicate-tickets`,children:_jsx(_components.p,{children:`No. A review never gets a second ticket on the same helpdesk. If you count the same period again, the dialog says those reviews already have a ticket and are left out.`})}),_jsx(Accordion,{title:`Can I send more than 100?`,id:`can-i-send-more-than-100`,children:_jsx(_components.p,{children:`Yes. Send again: the next send takes the next newest reviews, up to 300 a day for each helpdesk.`})}),_jsx(Accordion,{title:`Can I send a whole year?`,id:`can-i-send-a-whole-year`,children:_jsx(_components.p,{children:`Not yet. 90 days is the longest period.`})}),_jsx(Accordion,{title:`Why are reviews from the last few hours missing?`,id:`why-are-reviews-from-the-last-few-hours-missing`,children:_jsx(_components.p,{children:`The rule sends those itself, so the newest three hours are left out.`})}),_jsx(Accordion,{title:`Does it work with Salesforce or other helpdesks connected by email?`,id:`does-it-work-with-salesforce-or-other-helpdesks-connected-by-email`,children:_jsxs(_components.p,{children:[`Not yet. Use `,_jsx(_components.strong,{children:`Create ticket`}),` on a single review instead.`]})}),_jsx(Accordion,{title:`Can I undo it?`,id:`can-i-undo-it`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Stop`}),` ends it. Tickets already created stay in your helpdesk: close or delete them there.`]})}),_jsx(Accordion,{title:`Zendesk or Intercom did not answer for one review. Was a ticket created?`,id:`zendesk-or-intercom-did-not-answer-for-one-review-was-a-ticket-created`,children:_jsx(_components.p,{children:`Maybe. AppReply counts that review as not confirmed and does not send it again in a later send. Look for it in your helpdesk.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`enabling-and-disabling-rules`,children:`Enabling and disabling rules`}),`\n`,_jsxs(_components.p,{children:[`Each rule has its own on/off switch. Disabling a rule is always available, even on a downgraded plan, so you can silence old rules without losing their configuration. When you turn a topic rule back on, it can send matching reviews whose topics were tagged in the last 24 hours, up to 25 per run. If your organization loses Pro access while a rule is still enabled, the rule goes dormant: it stops creating tickets, and shows a `,_jsx(_components.strong,{children:`Not firing`}),` warning saying a Pro plan is required until you either re-enable it (after upgrading) or disable it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`questions-about-topic-and-country`,children:`Questions about topic and country`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Why did a review with this topic not become a ticket right away?`,id:`why-did-a-review-with-this-topic-not-become-a-ticket-right-away`,children:_jsx(_components.p,{children:`Analytics tags the topic a few minutes after the review arrives. The ticket follows on the next run after that, and rules run every 10 minutes.`})}),_jsx(Accordion,{title:`Can I filter Google Play reviews by country?`,id:`can-i-filter-google-play-reviews-by-country`,children:_jsxs(_components.p,{children:[`No. Google Play does not say which country a review came from, so `,_jsx(_components.strong,{children:`Country`}),` is offered only for a rule on one App Store app.`]})}),_jsx(Accordion,{title:`Can I exclude a topic?`,id:`can-i-exclude-a-topic`,children:_jsxs(_components.p,{children:[`No. A review that has not been analysed yet would look like it has no topic and would be sent, so topics only offer `,_jsx(_components.strong,{children:`is any of`}),`.`]})}),_jsx(Accordion,{title:`Will a new topic rule send old reviews?`,id:`will-a-new-topic-rule-send-old-reviews`,children:_jsx(_components.p,{children:`No. A topic rule ignores topics tagged before you created it. A rule without a topic checks the reviews that were posted in the store in the last 2 hours, as soon as it is on.`})}),_jsx(Accordion,{title:`Will my existing rules behave differently?`,id:`will-my-existing-rules-behave-differently`,children:_jsxs(_components.p,{children:[`Rules whose conditions are all finished work as before, except that a `,_jsx(_components.strong,{children:`Language`}),` condition now includes regional variants. If an older rule has a row without a value, it sends no tickets and shows `,_jsx(_components.strong,{children:`Pick a value, or this row filters nothing.`}),` Finish the row or remove it, then save the rule.`]})}),_jsx(Accordion,{title:`A rule says a topic was removed or merged`,id:`a-rule-says-a-topic-was-removed-or-merged`,children:_jsx(_components.p,{children:`The topic was removed or merged into another in Analytics. The rule keeps working on its other topics. Remove the old topic from the rule and pick the topic again.`})}),_jsx(Accordion,{title:`Topics need Analytics, which is not switched on for this organization`,id:`topics-need-analytics-which-is-not-switched-on-for-this-organization`,children:_jsx(_components.p,{children:`Switch Analytics on to use a Topic condition. If you switch Analytics off later, topic rules stop finding new topics.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`combining-ticket-rules-with-auto-replies`,children:`Combining ticket rules with auto-replies`}),`\n`,_jsx(_components.p,{children:`Ticket rules and auto-reply automations can work together, since they’re independent systems. For example, you might auto-reply to a 1-star review with an empathetic response while a ticket rule creates a Zendesk ticket at the same time for your support team to investigate.`}),`\n`,_jsx(_components.p,{children:`This gives the reviewer an immediate public acknowledgment and ensures your team follows up privately.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Make sure your support team knows that these tickets come from app reviews. The user may not have provided an email address, so replies through the helpdesk may not reach them directly.`})}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Triggers`,icon:`bullseye`,href:`/auto-replies/triggers`,children:_jsx(_components.p,{children:`Learn more about the conditions you can use to target specific reviews`})}),_jsx(Card,{title:`Actions`,icon:`bolt`,href:`/auto-replies/actions`,children:_jsx(_components.p,{children:`Configure the response methods for your auto-reply automations`})})]})]})}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":"Helpdesk ticket rules","description":"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.","icon":"headset","href":"/auto-replies/escalation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Supported helpdesk providers","slug":"supported-helpdesk-providers","depth":2,"children":[]},{"title":"Setting up a ticket rule","slug":"setting-up-a-ticket-rule","depth":2,"children":[]},{"title":"Filter by topic and country","slug":"filter-by-topic-and-country","depth":2,"children":[{"title":"Topic","slug":"topic","depth":3,"children":[]},{"title":"Country","slug":"country","depth":3,"children":[]},{"title":"Rows that are not finished","slug":"rows-that-are-not-finished","depth":3,"children":[]},{"title":"Changing the app drops conditions it can’t keep","slug":"changing-the-app-drops-conditions-it-can’t-keep","depth":3,"children":[]},{"title":"Language includes regional variants","slug":"language-includes-regional-variants","depth":3,"children":[]},{"title":"Limits","slug":"limits","depth":3,"children":[]}]},{"title":"Ticket details","slug":"ticket-details","depth":2,"children":[{"title":"Subject templates","slug":"subject-templates","depth":3,"children":[]},{"title":"Priority","slug":"priority","depth":3,"children":[]},{"title":"Tags","slug":"tags","depth":3,"children":[]}]},{"title":"Cooldown","slug":"cooldown","depth":2,"children":[]},{"title":"Create a ticket by hand","slug":"create-a-ticket-by-hand","depth":2,"children":[]},{"title":"Send past reviews","slug":"send-past-reviews","depth":2,"children":[{"title":"Start from a rule","slug":"start-from-a-rule","depth":3,"children":[]},{"title":"Count, then send","slug":"count-then-send","depth":3,"children":[]},{"title":"Follow it and stop it","slug":"follow-it-and-stop-it","depth":3,"children":[]},{"title":"Limits of sending past reviews","slug":"limits-of-sending-past-reviews","depth":3,"children":[]},{"title":"Questions about past reviews","slug":"questions-about-past-reviews","depth":3,"children":[]}]},{"title":"Enabling and disabling rules","slug":"enabling-and-disabling-rules","depth":2,"children":[]},{"title":"Questions about topic and country","slug":"questions-about-topic-and-country","depth":2,"children":[]},{"title":"Combining ticket rules with auto-replies","slug":"combining-ticket-rules-with-auto-replies","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"appreply","siteName":"AppReply Documentation","title":"Helpdesk ticket rules - AppReply Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T19:16:30.976Z","originalFileLocation":"auto-replies/escalation.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=\"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.\">\u003cmeta data-mint-head name=\"application-name\" content=\"AppReply Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_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/appreply/1m7VbGywvCExWTkC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Helpdesk ticket rules - AppReply Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AppReply docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.appreply.co/auto-replies/escalation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://appreply.mintlify.site/_mintlify/api/og/v2?division=Auto%E2%80%91Replies\u0026amp;title=Helpdesk+ticket+rules\u0026amp;description=Ticket+rules+turn+app+reviews+that+match+your+conditions+into+helpdesk+tickets+automatically%2C+so+your+support+team+can+follow+up+beyond+the+public+reply.\u0026amp;theme=2ba6220eca1a84ead91b413a\u0026amp;signature=7aed7d0df59fd87e54ac121bceaf697cf1401b9213f9aaa2a845b59ff547a9e6\">\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=\"Helpdesk ticket rules - AppReply Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://appreply.mintlify.site/_mintlify/api/og/v2?division=Auto%E2%80%91Replies\u0026amp;title=Helpdesk+ticket+rules\u0026amp;description=Ticket+rules+turn+app+reviews+that+match+your+conditions+into+helpdesk+tickets+automatically%2C+so+your+support+team+can+follow+up+beyond+the+public+reply.\u0026amp;theme=2ba6220eca1a84ead91b413a\u0026amp;signature=7aed7d0df59fd87e54ac121bceaf697cf1401b9213f9aaa2a845b59ff547a9e6\">\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/appreply/1m7VbGywvCExWTkC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AppReply Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6D28D9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.appreply.co/auto-replies/escalation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/auto-replies/escalation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://appreply.co/#organization\",\"name\":\"AppReply\",\"url\":\"https://appreply.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/appreply/5DZreiT3ArtzXXD6/logo/light.svg?fit=max\u0026auto=format\u0026n=5DZreiT3ArtzXXD6\u0026q=85\u0026s=62160f916167875087e9cbb8fc614850\"},\"sameAs\":[\"https://www.linkedin.com/company/appreply\",\"https://github.com/appreply-co\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.appreply.co#website\",\"name\":\"AppReply Documentation\",\"url\":\"https://docs.appreply.co\",\"publisher\":{\"@id\":\"https://appreply.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.appreply.co/auto-replies/escalation#webpage\",\"url\":\"https://docs.appreply.co/auto-replies/escalation\",\"name\":\"Helpdesk ticket rules\",\"description\":\"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.\",\"dateModified\":\"2026-11-12T19:16:30.976Z\",\"isPartOf\":{\"@id\":\"https://docs.appreply.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.appreply.co/auto-replies/escalation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.appreply.co/auto-replies/escalation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Auto‑Replies\",\"item\":\"https://docs.appreply.co/auto-replies/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Helpdesk ticket rules\",\"item\":\"https://docs.appreply.co/auto-replies/escalation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.appreply.co/auto-replies/escalation#article\",\"headline\":\"Helpdesk ticket rules\",\"name\":\"Helpdesk ticket rules\",\"description\":\"Ticket rules turn app reviews that match your conditions into helpdesk tickets automatically, so your support team can follow up beyond the public reply.\",\"url\":\"https://docs.appreply.co/auto-replies/escalation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.appreply.co/auto-replies/escalation#webpage\"},\"dateModified\":\"2026-11-12T19:16:30.976Z\",\"publisher\":{\"@id\":\"https://appreply.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.appreply.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AppReply Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"AppReply\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/auto-replies/escalation.md","siteName":"AppReply Documentation","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Quickstart","icon":"rocket","href":"/quickstart"}]},{"group":"Essentials","pages":[{"title":"Home","icon":"house","href":"/essentials/home"},{"title":"Applications","icon":"mobile","href":"/essentials/applications"},{"title":"Reviews feed","icon":"message-lines","href":"/essentials/reviews"},{"title":"Automations","icon":"sparkles","href":"/essentials/automations"},{"title":"AI instructions","icon":"sparkles","href":"/essentials/ai-instructions"},{"title":"AppReply MAX","icon":"brain-circuit","href":"/essentials/appreply-max"},{"title":"Manage your knowledge base","icon":"files","sidebarTitle":"Knowledge base","href":"/essentials/templates"},{"title":"Workspaces","icon":"users","href":"/essentials/workspaces"},{"title":"Settings","icon":"gear","href":"/essentials/settings"}]},{"group":"RADAR assistant","pages":[{"title":"RADAR overview","icon":"sparkles","href":"/assistant/overview"},{"title":"Chats and answers","icon":"comments","href":"/assistant/chats"},{"title":"Skills and workflows","icon":"wand-magic-sparkles","href":"/assistant/skills"},{"title":"Connectors","icon":"plug","href":"/assistant/connectors"},{"title":"Context and memory","icon":"brain","href":"/assistant/context"},{"title":"Behavior","icon":"sliders","href":"/assistant/behavior"},{"title":"Usage and limits","icon":"gauge","href":"/assistant/usage"}]},{"group":"Auto‑Replies","pages":[{"title":"Auto-replies overview","icon":"sparkles","sidebarTitle":"Overview","href":"/auto-replies/overview"},{"title":"Automation triggers","icon":"bullseye","href":"/auto-replies/triggers"},{"title":"Automation actions","description":"Automation actions set how AppReply answers a matching review: a template from your folder with optional AI enhancement, or a reply written by AI from scratch.","icon":"bolt","href":"/auto-replies/actions"},{"title":"Helpdesk ticket rules","icon":"headset","href":"/auto-replies/escalation"}]},{"group":"Review Management","pages":[{"title":"Review management overview","description":"Read and answer reviews from every connected app store in AppReply: the stats bar, tabs and saved views, filters, the reply composer and the AI summary.","icon":"comments","iconType":"solid","sidebarTitle":"Overview","href":"/review-management/overview"},{"title":"AI summary and pattern analysis","icon":"chart-bar","href":"/review-management/ai-summary"},{"title":"Review feed","icon":"table-columns","iconType":"solid","href":"/review-management/review-feed"},{"title":"Manual AI replies","icon":"sparkles","href":"/review-management/manual-ai-replies"},{"title":"Using reply templates in review responses","icon":"file-lines","iconType":"regular","href":"/review-management/reply-templates"},{"title":"Review translation","icon":"language","href":"/review-management/translation"},{"title":"CSV export","icon":"file-csv","iconType":"solid","href":"/review-management/csv-export"},{"title":"Bulk actions","icon":"list-check","iconType":"solid","href":"/review-management/bulk-actions"},{"title":"Alerts","icon":"bell","iconType":"solid","href":"/review-management/alerts"},{"title":"Alert destinations","icon":"paper-plane","href":"/review-management/alert-destinations"}]},{"group":"Analytics","pages":[{"title":"Analytics overview","icon":"chart-line","sidebarTitle":"Overview","href":"/analytics/overview"},{"title":"Insights","icon":"wand-magic-sparkles","href":"/analytics/insights"},{"title":"Review analysis","icon":"comments","href":"/analytics/reviews"},{"title":"Topical analysis","icon":"magnifying-glass-chart","href":"/analytics/topics"},{"title":"Ratings","icon":"star-half-stroke","href":"/analytics/ratings"},{"title":"Reply performance","icon":"gauge-high","href":"/analytics/reply-performance"}]},{"group":"Reply Quality","pages":[{"title":"Reply quality overview","icon":"gauge-high","href":"/reply-quality/overview"},{"title":"Scorecards","icon":"clipboard-check","href":"/reply-quality/scorecards"},{"title":"Flagged queue","icon":"flag","href":"/reply-quality/flagged"}]},{"group":"Topics","pages":[{"title":"Topics","icon":"tags","href":"/topics/overview"}]},{"group":"Knowledge Base","pages":[{"title":"Knowledge base","icon":"circle-nodes","href":"/knowledge-base/overview"},{"title":"Documents \u0026 sources","icon":"file-lines","href":"/knowledge-base/documents"}]},{"group":"Integrations","pages":[{"group":"App stores","pages":[{"title":"Integrating Google Play Console","icon":"android","href":"/integrations/app-stores/linking-google-play"},{"title":"Integrating App Store Connect","icon":"apple","href":"/integrations/app-stores/linking-appstore-connect"},{"title":"Integrating Samsung Galaxy Store","icon":"mobile","sidebarTitle":"Samsung Galaxy Store","href":"/integrations/app-stores/linking-samsung-galaxy-store"},{"title":"Integrating Huawei AppGallery","icon":"mobile","sidebarTitle":"Huawei AppGallery","href":"/integrations/app-stores/linking-huawei-appgallery"},{"title":"Integrating RuStore","icon":"mobile","sidebarTitle":"RuStore","href":"/integrations/app-stores/linking-rustore"}]},{"group":"Helpdesk","pages":[{"title":"Helpdesk integrations","icon":"headset","href":"/integrations/helpdesk/overview"},{"title":"Zendesk integration","icon":"headset","sidebarTitle":"Zendesk","href":"/integrations/helpdesk/zendesk"},{"title":"Intercom integration","icon":"headset","sidebarTitle":"Intercom","href":"/integrations/helpdesk/intercom"},{"title":"Salesforce integration","icon":"cloud","sidebarTitle":"Salesforce","href":"/integrations/helpdesk/salesforce"},{"title":"Freshdesk integration","icon":"ticket","sidebarTitle":"Freshdesk","href":"/integrations/helpdesk/freshdesk"},{"title":"Help Scout integration","icon":"life-ring","sidebarTitle":"Help Scout","href":"/integrations/helpdesk/help-scout"},{"title":"Front integration","icon":"inbox","sidebarTitle":"Front","href":"/integrations/helpdesk/front"},{"title":"Any helpdesk by email","icon":"envelope","sidebarTitle":"Any helpdesk by email","href":"/integrations/helpdesk/email"}]},{"title":"Claude (MCP)","icon":"robot","href":"/integrations/claude"}]},{"group":"Organizations \u0026 Billing","pages":[{"title":"User roles","icon":"shield-check","href":"/administration/user-roles"},{"title":"Manage members","icon":"user-plus","href":"/administration/multi-tenancy"},{"title":"Billing","icon":"credit-card","href":"/administration/billing"},{"title":"Security","icon":"shield-halved","href":"/administration/security"}]},{"group":"Guides","pages":[{"title":"AppReply for app teams","icon":"mobile-screen","href":"/for-apps/introduction"},{"title":"AppReply for game studios","icon":"gamepad","href":"/for-games/introduction"}]}]},"basePath":"","title":"Helpdesk ticket rules - AppReply Documentation","buildId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","deploymentId":"dpl_715YoAgvjTGBDdo8RtXmHKM22b5p","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-vIkpUzVS.js","DynamicMarkdown-TAXIW2vN.js","zoom-image-lightbox-y00V8U6G.js","lightbox-handle-r17bVUz3.js"]}