Automatic Issue Creation
Creation rules turn incoming customer messages into issues. When a customer emails your support address, messages your WhatsApp number, starts a chat in your app or calls you, Planner creates an issue for it, or adds the message to the issue that's already open. Your team then answers from the Shared Inbox or the issue's page.
Before you start
Connect the integration for each channel you want to use:
| Channel | Integration |
|---|---|
| Amazon SES, with receiving email set up | |
| WhatsApp Business Platform | |
| In-App Chat | In-App Chat |
| Phone | Ozonetel, or LiveKit for calls answered by an AI agent |
You also need an issue type for the issues to be created in.
Create a creation rule
- Open the Planner app and go to its Setup tab
- Select the space the issues should go into
- Expand Automation Rules, then Automatic Issue Creation
- Click Add a Creation Rule
- Fill in the settings below and click Save
| Setting | Description |
|---|---|
| Channel | Email, Phone, WhatsApp or In-App Chat. |
| Integration ID | Required. The integration whose messages this rule handles. |
| Default Issue Type | Required. The issue type new issues are created as. |
| Issue Properties | Values for the issue type's custom fields on new issues. Shown when the issue type has custom fields. |
| Default Assignee | A member or AI agent to assign new issues to. Leave it empty to let automatic assignment pick someone. |
| Default Group | The group new issues go into. Set it if you use automatic assignment, which assigns issues by group. |
Email and WhatsApp rules have extra settings, described below.
Deleting a rule takes effect straight away, without clicking Save.
Email settings
| Setting | Description |
|---|---|
| Inbox Email Addresses | The addresses this rule receives mail for, such as support@acme.com. Replies are sent from the address the customer wrote to. The first entry must be an exact address: it's used to send replies when Planner can't tell which address a message came in on. Later entries can use one * before the @, such as *.support@acme.com, which matches vip.support@acme.com but not support@acme.com. |
| Inbox Email Domains | Domains to receive mail for on every address, such as help.acme.com. Planner never sends from these. |
Add at least one inbox address. A rule with only domains receives mail, but your team can't reply.
Planner works out which address a message was delivered to from the delivery headers, not the To and CC lines. That way, mail forwarded from a group or alias still reaches the right rule.
WhatsApp settings
| Setting | Description |
|---|---|
| Phone Numbers | The WhatsApp business numbers this rule handles. Pick at least one: a rule with no numbers never creates issues. |
How messages become issues
Who the customer is
Planner matches the sender's email address or phone number to an existing user in the environment. If there's no match, it uses or creates a visitor, named from their WhatsApp profile or email display name. The customer becomes the issue's requester.
If you've set up a user lookup in Account Center, Planner runs it first.
New issue or existing issue
| Channel | What happens |
|---|---|
| A reply to an email thread joins that thread's issue while it's open. A reply to a closed issue starts a new issue, unless a trigger rule on On New Incoming Message reopens it. A new thread starts a new issue. | |
| A message joins the customer's open issue on that number. If they have none, a new issue is created. A closed issue is never reopened. | |
| In-App Chat | A message joins the chat's open issue. If there's none, a new issue is created, starting with the custom field values of the chat's previous issue. When the customer ends the chat, the issue moves to its type's first done status. |
| Phone | Every call creates its own issue. |
A locked issue never receives new messages. The message starts a new issue, linked to the locked one as Continued from.
Open and closed are explained in Statuses.
Titles
| Channel | Title | Description |
|---|---|---|
| The subject | The email body | |
| Incoming WhatsApp: number | ||
| In-App Chat | Incoming InApp Chat | |
| Phone | Incoming Call: number (IncomingCall: number for Ozonetel) |
Rename an issue from its page once you know what it's about.
What runs after an issue is created
- Notification rules on On Create
- Trigger rules on On Create
- Automatic assignment, if the issue still has no assignee
Rules in several spaces
Each space handles a message on its own. If rules in two spaces match the same message, each space gets its own issue. Within one space, the first matching rule creates the issue.
An email that arrives at addresses belonging to several rules creates an issue for each rule, so each team gets its own copy.
Mail that's ignored
To avoid loops and noise, Planner doesn't create issues from:
- mail sent from one of the rule's own inbox addresses
- automatic replies, bulk mail and bounces
- mail marked as spam
AI agents as the default assignee
Set Default Assignee to an AI agent to have it answer new conversations. The agent replies once it has a published version and a Planner deployment. Until then, issues are only assigned to it.
When a member of your team sends a public reply on the issue, the issue is reassigned to them and the AI agent stops answering. AI agents don't reply on closed or locked issues.
For phone calls:
- LiveKit calls are answered by the AI agent, so Default Assignee must be an AI agent, and each LiveKit integration can have only one Phone rule. If nobody speaks during the call, its issue is canceled when the call ends.
- Ozonetel calls ignore Default Assignee, so automatic assignment can route them to your team. When the call ends, its recording and duration are added to the issue.
When you test an AI agent in AI Hub, its conversations create test issues using the first creation rule that assigns to that agent. Test issues are hidden from the Shared Inbox and from the issue list unless you change its Scope filter.
Example: a support inbox
| Setting | Value |
|---|---|
| Channel | |
| Integration ID | Amazon SES |
| Default Issue Type | Support Request |
| Inbox Email Addresses | support@acme.com, *.support@acme.com |
| Default Group | Support |
Every new email to support@acme.com, or to an address like billing.support@acme.com, becomes a Support Request in the Support group. Replies go out from the address the customer wrote to. With an assignment rule on the Support group, each request is assigned to the least busy agent.