The Inbox/Outbox tab allows you to search for conversations.
Full Text Search
By default, Apptoto will perform a “full text search” on the messages in your conversations.
For example, to find all conversations with “reminder” in them… enter the following into the search box and hit .
reminder
To find all conversations with “reminder” and “haircut” in them:
reminder haircut
To find all conversations with the phrase “haircut reminder” in them:
"haircut reminder"
Default Fields
The fields that are searched by default are the following:
- The “To” field including the name, email and phone
- The content of the message
- The subject of the message
Negative Search
To find all conversations that do not contain the word haircut in them:
-haircut
or
!haircut
Field Search
You can search a specific field by specifying the field first. For example, to search for conversation with someone named “fred”:
to:fred
To find all conversations with the word “haircut” in the subject:
subject:haircut
If you want to find all conversations whose subject is exactly “Haircut with Fred”, do:
subject="Haircut with Fred"
The :
and =
in the above examples are called search “operators”. The following operators are available:
Operator | Data Types | Notes |
---|---|---|
: | text, date, number | For text fields, this operator performs a “full text search”. For Date fields, it searches the entire day specified. For other fields, it does an exact match |
= | text, date, number, boolean | Does an exact match. You can use “*” as a wildcard for text fields |
!= | text, date, number, boolean | Not Equal |
> | date, number | Greater than. |
>= | date, number | Greater than or equal |
< | date, number | Less than |
< | date, number | Less than or equal |
Special Values
Use the special keyword “empty” to search for fields that are empty. For example you can search:
subject != empty
or
subject = empty
Special Date Phrases
For date fields, you can use special phrases for “today”, “tomorrow”, and “yesterday”.
If you want to find all appointments on today:
at = today
If you want to find all the conversations since last week:
at >= "1 week ago"
Other dates can be specified in human readable format. e.g.
at > "January 20th, 2018" and at < "January 30th, 2018"
Would find all the conversations with messages was between “January 20th, 2018” and “January 30th, 2018”. You could also use “2018-01-20” and “2018-01-30” for that as well.
If you want to find all the conversations with messages on one specific day, you can use the “:” operator. For example, the following would find all the appointments on March 2nd, 2018.
at:2018-03-02
Boolean Logic
By default, all terms are searched assuming an AND query. For example, “Fred Smith” looks for all conversations containing both “Fred” AND “Smith”.
To find all conversations with “fred” OR “smith”:
fred or smith
The “or” operator takes precedence. For example the following would find all conversations who have “fred” in them or all conversations with both “smith” and “bob in them:
fred or smith and bob
So that is equivalent to:
fred or (smith and bob)
If you want to change how the query is evaluated, you can move the parenthesis. For example, to find all conversations that have “bob” in them and either “fred” or “smith”, do:
(fred or smith) and bob
Of course, you can use field specific queries with boolean logic as well. For example
(subject:haircut or subject:coloring) and nancy
Conversation Fields
Besides the default fields specified above and the “custom” fields… Apptoto also provides some interesting default fields that you can use to customize your searches. Here are some of those fields and example uses.
Field | Type | Description | Notes |
---|---|---|---|
confirmed | boolean | If the recipient confirmed during the conversation | confirmed:true would show you all the conversations that confirmed |
cancelled | boolean | If the recipient cancelled during the conversation | cancelled:true would show you all the conversations that cancelled |
needs_reschedule | boolean | If the recipient requested a rescheduling during the conversation | needs_reschedule:true would show you all the conversations that requested reschedule |
accepted | boolean | If the recipient accepted a booking message during the conversation | accepted:true would show you all the conversations that accepted |
declined | boolean | If the recipient declined a booking message during the conversation | accepted:true would show you all the conversations that declined |
incoming | boolean | If the conversation has an incoming message | incoming:true would show you all the conversations that are incoming |
outgoing | boolean | If the conversation has an outgoing message | outgoing:true would show you all the conversations that are outgoing |
auto | boolean | If the conversation has a message was sent automatically | auto:true |
archived | boolean | If the conversation has been archived | archived:true would show you all the conversations that are archived |
send_failed | boolean | If the conversation has a message that failed to send | send_failed:true would show you all the conversations that has a message that didn’t go out |
delivery_failed | boolean | If the conversation has a message that failed to be delivered | delivery_failed:true would show you all the conversations that has a message that went out but was not delivered |
conversation_started | datetime | When the conversation began | conversation_started > yesterday all conversations that were started since yesterday |
comm_type | string | The type of conversation “sms”, “email”, or “call” | comm_type:sms all sms conversations. You can also use the fields “sms”, “text”, “email”, “call”, “voice”. e.g. sms:true or voice:true |