Remove baked in CRM and SS
This commit is contained in:
committed by
Jože Fortun
parent
5bf50e8563
commit
7a2ccfed79
@@ -1,22 +0,0 @@
|
||||
templates:
|
||||
quote:
|
||||
type: text/html
|
||||
template: "<h1>Details of Quote: {{.quote.values.QuoteNumber}} - {{.quote.values.Name}}</h1>\r\n<br>\r\n<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" style=\"min-width:100%;\">\r\n <tr>\r\n <td valign=\"top\">\r\n <strong>Quote Information</strong>\r\n <br><br>\r\n <strong>Quote Number:</strong> {{.quote.values.QuoteNumber}}<br>\r\n <strong>Quote Name:</strong> {{.quote.values.Name}}<br>\r\n <strong>Expiration Date:</strong> {{.quote.values.ExpirationDate}}<strong><br>\r\n <strong>Description:</strong> {{.quote.values.Description}}\r\n </td>\r\n <td valign=\"top\">\r\n <strong>Primary contact data</strong>\r\n <br><br>\r\n <strong>Contact Name:</strong> {{.quote.values.ContactId}}<br>\r\n <strong>Email:</strong> {{.quote.values.Email}}<br>\r\n <strong>Phone:</strong> {{.quote.values.Phon}}\r\n </td>\r\n <td valign=\"top\">\r\n <strong>Totals</strong><br>\r\n <br>\r\n <strong>Subtotal:</strong> {{.quote.values.Subtotal}}<br>\r\n <strong>Additional Discount:</strong> {{.quote.values.Discount}}<br>\r\n <strong>Shipping and Handling:</strong> {{.quote.values.ShippingHandling}}<br>\r\n <strong>Total Price:</strong> {{.quote.values.TotalPrice}}<br>\r\n <strong>Tax:</strong> {{.quote.values.Tax}}<br>\r\n <strong>Grand Total:</strong> {{.quote.values.GrandTotal}}\r\n </td>\r\n </tr>\r\n <tr>\r\n <td colspan='3'>\r\n <strong>Products</strong>\r\n <br><br>\r\n {{range $index, $element := .lineItems}}\r\n <strong>Price:</strong>{{$element.values.UnitPrice}}<br>\r\n <strong>Quantity:</strong>{{$element.values.Quantity}}<br>\r\n <strong>Subtotal:</strong>{{$element.values.Subtotal}}<br>\r\n <strong>Discount:</strong>{{$element.values.Discount}}<br>\r\n <strong>Total Price:</strong>{{$element.values.TotalPrice}}<br>\r\n -------------------------<br>\r\n {{end}}\r\n </td>\r\n </tr>\r\n <tr>\r\n <td valign=\"top\">\r\n <strong>Bill To</strong><br>\r\n <br>\r\n <strong>Bill to Name:</strong> {{.quote.values.BillingName}}<br>\r\n <strong>Bill to Street:</strong> {{.quote.values.BillingStreet}}<br>\r\n <strong>Bill to City:</strong> {{.quote.values.BillingCity}}<br>\r\n <strong>Bill to State:</strong> {{.quote.values.BillingState}}<strong><br>\r\n <strong>Bill to Postal Code:</strong> {{.quote.values.BillingPostalCode}}<br>\r\n <strong>Bill to Country:</strong> {{.quote.values.BillingCountry}}\r\n </td>\r\n <td valign=\"top\">\r\n <strong>Quote To</strong><br>\r\n <br>\r\n <strong>Quote to Name:</strong> {{.quote.values.QuoteToName}}<br>\r\n <strong>Quote to Street:</strong> {{.quote.values.QuoteToStreet}}<br>\r\n <strong>Quote to City:</strong> {{.quote.values.QuoteToCity}}<br>\r\n <strong>Quote to State:</strong> {{.quote.values.QuoteToState}}<strong><br>\r\n <strong>Quote to Postal Code:</strong> {{.quote.values.QuoteToPostalCode}}<br>\r\n <strong>Quote to Country:</strong> {{.quote.values.QuoteToCountry}}\r\n </td>\r\n <td valign=\"top\">\r\n <strong>Ship To</strong><br>\r\n <br>\r\n <strong>Ship to Name:</strong> {{.quote.values.ShippingName}}<br>\r\n <strong>Ship to Street:</strong> {{.quote.values.ShippingStreet}}<br>\r\n <strong>Ship to City:</strong> {{.quote.values.ShippingCity}}<br>\r\n <strong>Ship to State:</strong> {{.quote.values.ShippingState}}<strong><br>\r\n <strong>Ship to Postal Code:</strong> {{.quote.values.ShippingPostalCode}}<br>\r\n <strong>Ship to Country:</strong> {{.quote.values.ShippingCountry}}\r\n </td>\r\n </tr>\r\n</table>"
|
||||
meta:
|
||||
short: quote
|
||||
description: quote
|
||||
lead_converted_content:
|
||||
type: text/html
|
||||
template: |
|
||||
<h2 style="color: #568ba2;text-align: center;">The following lead has been converted:</h2>
|
||||
|
||||
{{template "record_table" .account }}
|
||||
meta:
|
||||
short: Lead Converted (Content)
|
||||
description: The lead was converted
|
||||
lead_converted_subject:
|
||||
type: text/plain
|
||||
template: Lead {{ .lead.values.FirstName }} {{ .lead.values.LastName }} from {{ .lead.values.Company }} has been converted
|
||||
meta:
|
||||
short: Lead Converted (subject)
|
||||
description: lead_converted_subject
|
||||
@@ -1,12 +0,0 @@
|
||||
namespaces:
|
||||
crm:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: CRM
|
||||
enabled: true
|
||||
allow:
|
||||
authenticated:
|
||||
- module.create
|
||||
- read
|
||||
deny:
|
||||
authenticated:
|
||||
- delete
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,999 +0,0 @@
|
||||
namespace: crm
|
||||
charts:
|
||||
AccountsByRating:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Accounts by rating
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Rating
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: AVG
|
||||
field: count
|
||||
fill: true
|
||||
fixTooltips: false
|
||||
label: Number of Accounts
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Account
|
||||
renderer: {}
|
||||
yAxis:
|
||||
label: Accounts
|
||||
colorScheme: tableau.Tableau10
|
||||
AccountsByType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Accounts by type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fixTooltips: false
|
||||
relativeValue: true
|
||||
type: doughnut
|
||||
module: Account
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
ActiveCampaignsByType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Active campaigns by type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: IsActive = 1
|
||||
metrics:
|
||||
- field: count
|
||||
type: pie
|
||||
module: Campaigns
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau20
|
||||
CampaignAmountAllOpportunitiesVsTarget:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Campaign amount all opportunities vs target
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta:
|
||||
steps:
|
||||
- value: "15000"
|
||||
- value: "30000"
|
||||
- value: "60000"
|
||||
modifier: (no grouping / buckets)
|
||||
filter: AmountAllOpportunities IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: AmountAllOpportunities
|
||||
type: gauge
|
||||
module: Campaigns
|
||||
renderer: {}
|
||||
colorScheme: tableau.Traffic9
|
||||
CampaignAmountAllWonOpportunitiesVsTarget:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Campaign amount all won opportunities vs target
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta:
|
||||
steps:
|
||||
- value: "10000"
|
||||
- value: "20000"
|
||||
- value: "40000"
|
||||
modifier: (no grouping / buckets)
|
||||
filter: AmountWonOpportunities IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: AmountWonOpportunities
|
||||
type: gauge
|
||||
module: Campaigns
|
||||
renderer: {}
|
||||
colorScheme: tableau.Traffic9
|
||||
CampaignCostVsRevenue:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Campaign cost vs revenue
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ActualCost IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: BudgetedCost
|
||||
label: Budgeted Cost
|
||||
type: bar
|
||||
- aggregate: SUM
|
||||
field: ActualCost
|
||||
label: Actual Cost
|
||||
type: bar
|
||||
- aggregate: SUM
|
||||
field: ExpectedRevenue
|
||||
label: Expected Revenue
|
||||
type: bar
|
||||
- aggregate: SUM
|
||||
field: AmountAllOpportunities
|
||||
label: Amount All Opportunities
|
||||
type: bar
|
||||
- aggregate: SUM
|
||||
field: AmountWonOpportunities
|
||||
label: Amount All Won Opportunities
|
||||
type: bar
|
||||
module: Campaigns
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Euro
|
||||
colorScheme: tableau.Tableau10
|
||||
CampaignCosts:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Campaign costs
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Name
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: recordID = ${recordID}
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: NumberOfLeads
|
||||
type: bar
|
||||
- aggregate: SUM
|
||||
field: NumberOfOpportunities
|
||||
type: bar
|
||||
module: Campaigns
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Value
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesByOrigin:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by origin
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Origin
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: pie
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesByPriority:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by priority
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Priority
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: pie
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: office.Wisp6
|
||||
CasesByStatus:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by status
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: pie
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesByType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: pie
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Cases per month
|
||||
lineTension: 0.4
|
||||
type: bar
|
||||
- field: count
|
||||
fill: true
|
||||
fx: m?m+n:n
|
||||
label: Cumulative number of cases
|
||||
type: line
|
||||
module: Case
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Cases
|
||||
colorScheme: tableau.Tableau20
|
||||
ContactsPerCountry:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Contacts per country
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: MailingCountry
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Contacts per country
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Contact
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Contacts
|
||||
colorScheme: tableau.Tableau20
|
||||
ContactsPerSeniorLeveltitle:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Contacts per senior level title
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
default: None
|
||||
field: Title
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: Title = 'CEO' OR Title = 'Owner' OR Title = 'Founder' OR Title
|
||||
= 'President' OR Title = 'Director' OR Title = 'CEO' OR Title = 'COO'
|
||||
OR Title = 'CFO' OR Title = 'CIO' OR Title = 'CLO' OR Title = 'CHRO'
|
||||
OR Title = 'CMO' OR Title = 'CRO' OR Title = 'CCO' OR Title = 'CSO'
|
||||
OR Title = 'CIO' OR Title = 'CSO' OR Title = 'CTO' OR Title = 'VP'
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Contact
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
ContractsByStatus:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Contracts by Status
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Contract
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
ContractsPerStartingMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Contracts per starting month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: StartDate
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: Status = 'Activated'
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Activated contract per month
|
||||
lineTension: 0.4
|
||||
type: bar
|
||||
- field: count
|
||||
fill: true
|
||||
fx: m?m+n:n
|
||||
label: Cumulative number of contracts
|
||||
type: line
|
||||
module: Contract
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Activated contracts
|
||||
colorScheme: tableau.Tableau20
|
||||
Dealsize:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Dealsize
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: CloseDate
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: AVG
|
||||
field: Amount
|
||||
fill: true
|
||||
label: Average Dealsize per month
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
- aggregate: MAX
|
||||
field: Amount
|
||||
label: Max Dealsize
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
- aggregate: MIN
|
||||
field: Amount
|
||||
label: Min Dealsize
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Euro
|
||||
colorScheme: tableau.Tableau10
|
||||
EventsPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Events per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: ActivityDate
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Event
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Events
|
||||
colorScheme: tableau.Tableau10
|
||||
EventsPerType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Events per type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Event
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
LeadFunnel:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Lead funnel
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta:
|
||||
fields:
|
||||
- text: New
|
||||
value: New
|
||||
- text: Assigned
|
||||
value: Assigned
|
||||
- text: In Progress
|
||||
value: In Progress
|
||||
- text: Converted
|
||||
value: Converted
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: funnel
|
||||
module: Lead
|
||||
renderer: {}
|
||||
colorScheme: tableau.ClassicMedium10
|
||||
LeadsByCountry:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Leads by country
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Country
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
fixTooltips: null
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Lead
|
||||
renderer: {}
|
||||
yAxis:
|
||||
axisType: linear
|
||||
beginAtZero: true
|
||||
label: Leads per country
|
||||
colorScheme: tableau.Tableau10
|
||||
LeadsByRating:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Leads by rating
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Rating
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Lead
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
LeadsBySource:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Leads by source
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: LeadSource
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fixTooltips: null
|
||||
type: doughnut
|
||||
module: Lead
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau20
|
||||
LeadsByType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Leads by type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#31d9dd'
|
||||
beginAtZero: true
|
||||
field: count
|
||||
fixTooltips: false
|
||||
label: Number of leads
|
||||
relativeValue: true
|
||||
type: doughnut
|
||||
module: Lead
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
LeadsPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Leads per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
label: Leads per month
|
||||
type: bar
|
||||
- field: count
|
||||
fill: true
|
||||
fixTooltips: null
|
||||
fx: m?m+n:n
|
||||
label: Cumulative number of leads
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Lead
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Leads
|
||||
colorScheme: tableau.Tableau20
|
||||
MonthlySales:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Monthly sales
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- autoSkip: true
|
||||
conditions: {}
|
||||
field: CloseDate
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: StageName = 'Closed Won' and Amount IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: Amount
|
||||
fill: true
|
||||
fixTooltips: null
|
||||
fx: ""
|
||||
label: Monthly Sales
|
||||
type: bar
|
||||
- aggregate: SUM
|
||||
field: Amount
|
||||
fill: true
|
||||
fx: m?m+n:n
|
||||
label: Cumulative Sales
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Euro
|
||||
max: ""
|
||||
colorScheme: tableau.Tableau20
|
||||
NumberOfOpportunitiesVsTarget:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Number of opportunities vs target
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: StageName
|
||||
meta:
|
||||
steps:
|
||||
- value: "20"
|
||||
- value: "50"
|
||||
- value: "100"
|
||||
modifier: (no grouping / buckets)
|
||||
filter: YEAR(created_at) = YEAR(NOW())
|
||||
metrics:
|
||||
- field: count
|
||||
type: gauge
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
colorScheme: tableau.Traffic9
|
||||
OpportunitiesCreatedPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Opportunities created per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
fx: m?m+n:n
|
||||
label: Cumulative number of opportunities
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
- field: count
|
||||
fill: false
|
||||
label: Opportunities per month
|
||||
lineTension: 0.4
|
||||
type: bar
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Opportunities
|
||||
OpportunityLineItemsValue:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Opportunity line items value
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Name
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: OpportunityId = ${recordID}
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: TotalPrice
|
||||
type: bar
|
||||
module: OpportunityLineItem
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: value
|
||||
colorScheme: tableau.Tableau20
|
||||
OpportunitySalesPipeline:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Opportunity sales pipeline
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: StageName
|
||||
meta:
|
||||
fields:
|
||||
- text: Qualification
|
||||
value: Qualification
|
||||
- text: Need Analysis
|
||||
value: Need Analysis
|
||||
- text: Proposal
|
||||
value: Proposal
|
||||
- text: Negotiation
|
||||
value: Negotiation
|
||||
- text: Closed Won
|
||||
value: Closed Won
|
||||
modifier: (no grouping / buckets)
|
||||
filter: YEAR(created_at) = YEAR(NOW()) AND Amount IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: Amount
|
||||
type: funnel
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
colorScheme: tableau.ClassicMedium10
|
||||
OpportunityStatusFunnel:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Opportunity status funn
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: StageName
|
||||
meta:
|
||||
fields:
|
||||
- text: Qualification
|
||||
value: Qualification
|
||||
- text: Need Analysis
|
||||
value: Need Analysis
|
||||
- text: Proposal
|
||||
value: Proposal
|
||||
- text: Negotiation
|
||||
value: Negotiation
|
||||
- text: Closed Won
|
||||
value: Closed Won
|
||||
modifier: (no grouping / buckets)
|
||||
filter: YEAR(created_at) = YEAR(NOW())
|
||||
metrics:
|
||||
- field: count
|
||||
type: funnel
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
colorScheme: tableau.ClassicMedium10
|
||||
PriceBookEntriesPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Price book entries per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Price book entries
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: PricebookEntry
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Price book entries
|
||||
colorScheme: tableau.Tableau10
|
||||
PriceBooksCreatedPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Price books created per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Number of Price Books
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Pricebook
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Price books
|
||||
colorScheme: tableau.Tableau10
|
||||
ProductsAddedPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Products added per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Product
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Products
|
||||
colorScheme: tableau.Tableau10
|
||||
ProductsPerFamily:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Products per family
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
default: None
|
||||
field: Family
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Product
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
QuotesByStatus:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Quotes by status
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Quote
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau20
|
||||
QuotesPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Quotes per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Quotes per month
|
||||
lineTension: 0.4
|
||||
type: bar
|
||||
- field: count
|
||||
fill: true
|
||||
fx: m?m+n:n
|
||||
label: Cumulative number of quotes
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Quote
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Quotes
|
||||
colorScheme: tableau.Tableau20
|
||||
SalesVsTarget:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Sales vs target
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: StageName
|
||||
meta:
|
||||
steps:
|
||||
- value: "100000"
|
||||
- value: "250000"
|
||||
- value: "500000"
|
||||
modifier: (no grouping / buckets)
|
||||
filter: YEAR(created_at) = YEAR(NOW()) AND Amount IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: Amount
|
||||
fx: ""
|
||||
type: gauge
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
colorScheme: tableau.Traffic9
|
||||
SalesYTD:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Sales YTD
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: LeadSource
|
||||
meta:
|
||||
steps:
|
||||
- value: "150000"
|
||||
- value: "500000"
|
||||
- value: "1000000"
|
||||
modifier: (no grouping / buckets)
|
||||
filter: YEAR(created_at) = YEAR(NOW()) AND Amount IS NOT NULL
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: Amount
|
||||
type: gauge
|
||||
module: Opportunity
|
||||
renderer: {}
|
||||
colorScheme: tableau.Traffic9
|
||||
SolutionsByStatus:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Solutions by status
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Solution
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
SolutionsCreatedPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Solutions created per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Solutions created per month
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Solution
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Solutions
|
||||
colorScheme: tableau.Tableau10
|
||||
TasksByStatus:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Tasks by status
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
type: doughnut
|
||||
module: Task
|
||||
renderer: {}
|
||||
colorScheme: tableau.ClassicGreenOrange6
|
||||
TasksPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Tasks per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: ActivityDate
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Tasks per month
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Task
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Tasks
|
||||
colorScheme: tableau.Tableau10
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,27 +0,0 @@
|
||||
namespace: crm
|
||||
records:
|
||||
Settings:
|
||||
- (envoy): { skipIf: "!missing" }
|
||||
values:
|
||||
QuoteExpirationDays: "30"
|
||||
QuoteNextNumber: "1"
|
||||
OpportunityCloseDateDays: "30"
|
||||
OpportunityProbability: "10"
|
||||
OpportunityForecaseCategory: "Pipeline"
|
||||
OpportunityStagename: "Qualification"
|
||||
ContractNextNumber: "1"
|
||||
ContractDefaultTime: "12"
|
||||
CaseNextNumber: "1"
|
||||
SolutionNextNumber: "1"
|
||||
ScoreBudget: "1"
|
||||
ScoreAuthority: "1"
|
||||
ScoreNeed: "1"
|
||||
ScoreTimescale: "1"
|
||||
ScoreTurnover: "0"
|
||||
ScoreYearsInBusiness: "1"
|
||||
ScoreSource: "0"
|
||||
ScoreProductKnowlege: "0"
|
||||
ScoreTechnicalDepth: "0"
|
||||
ScoreCompetition: "1"
|
||||
ScoreCriticality: "1"
|
||||
ScoreRepeatPurchase: "1"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +0,0 @@
|
||||
templates:
|
||||
case_update_subject:
|
||||
type: text/plain
|
||||
template: 'Case: [{{.case.values.Number}}] {{.case.values.Subject}}'
|
||||
meta:
|
||||
short: case_update_subject
|
||||
description: case_update_subject
|
||||
case_update_content:
|
||||
type: text/html
|
||||
template: "<p>\n Dear {{.contact.values.FirstName}},\n\n We are contacting you with regard to the case \"{{.case.values.Subject}}\".\n \n {{.reason}}\n \n You can reply directly to this email. When replying, please make sure the ticket ID is kept in the subject so we can track your replies.\n \n Kind regards,\n \n The service team\n</p>"
|
||||
meta:
|
||||
short: case_update_content
|
||||
description: case_update_content
|
||||
@@ -1,5 +0,0 @@
|
||||
namespaces:
|
||||
service-solution:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Case management
|
||||
enabled: true
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,449 +0,0 @@
|
||||
namespace: service-solution
|
||||
charts:
|
||||
ActiveEntitlements:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Number of active entitlements
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#11ff57'
|
||||
field: count
|
||||
fixTooltips: true
|
||||
type: pie
|
||||
module: Entitlement
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
AverageTimeSpentPerCase:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Average time spent per case
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: AVG
|
||||
field: TotalTime
|
||||
fixTooltips: null
|
||||
label: Average case time (in hours)
|
||||
type: bar
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CaseUpdatesPerType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Case updates per type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Type
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#b51392'
|
||||
field: count
|
||||
fixTooltips: true
|
||||
relativeValue: true
|
||||
type: doughnut
|
||||
module: Update
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesByCategory:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by category
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Category
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#ff0074'
|
||||
field: count
|
||||
fixTooltips: true
|
||||
label: Category
|
||||
relativePrecision: "2"
|
||||
relativeValue: true
|
||||
type: doughnut
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesByPriority:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by priority
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Priority
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#f50d23'
|
||||
field: count
|
||||
fixTooltips: true
|
||||
label: Priority
|
||||
relativeValue: true
|
||||
type: doughnut
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
CasesByStatus:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cases by status
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Status
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#13b1dc'
|
||||
field: count
|
||||
fixTooltips: true
|
||||
label: Cases by status
|
||||
relativeValue: true
|
||||
type: doughnut
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
ClosedCasesPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Closed cases per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: CloseDate
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
fixTooltips: null
|
||||
label: Closed cases
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: Case
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Cases
|
||||
colorScheme: tableau.Tableau10
|
||||
CostPerCategory:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total cost per category
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Category
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: false
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: TotalCost
|
||||
fixTooltips: null
|
||||
label: Cost per category (in $)
|
||||
type: bar
|
||||
module: Case
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: $
|
||||
colorScheme: tableau.Tableau10
|
||||
CostPerProductFamily:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Cost per product family
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Family
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: TotalCost
|
||||
fixTooltips: null
|
||||
label: Total
|
||||
type: bar
|
||||
module: Product
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: $
|
||||
colorScheme: tableau.Tableau10
|
||||
CostsPerAccount:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total costs per account
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: AccountName
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: TotalCost
|
||||
fixTooltips: null
|
||||
label: Total cost
|
||||
type: bar
|
||||
module: Account
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: $
|
||||
colorScheme: tableau.Tableau10
|
||||
KnowledgeBaseArticlesPerType:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Knowledge Base articles per type
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Category
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- backgroundColor: '#ffc623'
|
||||
field: count
|
||||
fixTooltips: true
|
||||
label: Knowledge Base articles per type
|
||||
relativeValue: false
|
||||
type: pie
|
||||
module: KnowledgeBase
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
KnowledgeBaseItemsCreatedPerDay:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Knowledge Base items created per day
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: DATE
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
label: Total per day
|
||||
lineTension: 0.4
|
||||
type: line
|
||||
module: KnowledgeBase
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: KB Items
|
||||
colorScheme: tableau.Tableau10
|
||||
NewCasesByMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: New cases per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- autoSkip: true
|
||||
conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- field: count
|
||||
fill: true
|
||||
fixTooltips: null
|
||||
label: New cases
|
||||
lineTension: 0.2
|
||||
type: line
|
||||
module: Case
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Cases
|
||||
colorScheme: tableau.Tableau10
|
||||
TimePerAccount:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total time spend per account
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: AccountName
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
backgroundColor: '#41aeee'
|
||||
field: TotalTime
|
||||
fixTooltips: true
|
||||
label: Hours
|
||||
type: pie
|
||||
module: Account
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau20
|
||||
TimeSpentPerProductFamily:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Time Spent per Product Family
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Family
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
axisType: null
|
||||
backgroundColor: '#03ad3b'
|
||||
beginAtZero: true
|
||||
field: TotalTime
|
||||
fixTooltips: true
|
||||
label: Time spent (in hours)
|
||||
relativeValue: false
|
||||
type: pie
|
||||
module: Product
|
||||
renderer: {}
|
||||
colorScheme: tableau.ClassicMedium10
|
||||
TotalCostPerDepartment:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total costs per department
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Name
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: TotalCost
|
||||
fixTooltips: null
|
||||
label: Total
|
||||
type: bar
|
||||
module: Department
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: $
|
||||
colorScheme: tableau.Tableau10
|
||||
TotalCostPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total cost per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: Cost
|
||||
label: Total cost per month
|
||||
type: bar
|
||||
module: Update
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: $
|
||||
colorScheme: tableau.Tableau10
|
||||
TotalTimeSpentPerCategory:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: 'Total time spent per category '
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Category
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
backgroundColor: '#ffac45'
|
||||
field: TotalTime
|
||||
fixTooltips: true
|
||||
label: Total time spent per category (in hours)
|
||||
type: pie
|
||||
module: Case
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
TotalTimeSpentPerDepartment:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total time spent per department
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: Name
|
||||
meta: {}
|
||||
modifier: (no grouping / buckets)
|
||||
skipMissing: true
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
backgroundColor: '#bf94ff'
|
||||
field: TotalTime
|
||||
fixTooltips: true
|
||||
label: Total
|
||||
type: pie
|
||||
module: Department
|
||||
renderer: {}
|
||||
colorScheme: tableau.Tableau10
|
||||
TotalTimeSpentPerMonth:
|
||||
(envoy): { onExisting: "skip" }
|
||||
name: Total time spent per month
|
||||
config:
|
||||
reports:
|
||||
- dimensions:
|
||||
- conditions: {}
|
||||
field: created_at
|
||||
meta: {}
|
||||
modifier: MONTH
|
||||
filter: ""
|
||||
metrics:
|
||||
- aggregate: SUM
|
||||
field: TimeSpend
|
||||
fixTooltips: null
|
||||
label: Total time spent (in hours)
|
||||
type: bar
|
||||
module: Update
|
||||
renderer: {}
|
||||
yAxis:
|
||||
beginAtZero: true
|
||||
label: Hours
|
||||
colorScheme: tableau.Tableau10
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +0,0 @@
|
||||
namespace: service-solution
|
||||
records:
|
||||
Department:
|
||||
- (envoy): { skipIf: "!missing" }
|
||||
values:
|
||||
Name: "Service"
|
||||
HourCost: "50"
|
||||
Settings:
|
||||
- (envoy): { skipIf: "!missing" }
|
||||
values:
|
||||
KBNextNumber: "1"
|
||||
DefaultCostPerHour: "50"
|
||||
DefaultTimeUpdate: "0.25"
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user