Lead Generation From Website Visits

website_crm_iap_reveal
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/website_crm_iap_reveal
VERSION
VERSION 1.1
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, Julien Castiaux, Tiffany Chang (tic), Gorash, William Braeckman, Victor Piryns (pivi), Dylan Kiss (dyki), thle-odoo, Ricardo Gomes Rodrigues, Krzysztof Magusiak (krma), Meet
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap_crm
    - crm
    - base_setup
    - base
    - web
    - sales_team
    - mail
    - bus
    - web_tour
    - html_editor
    - calendar
    - resource
    - utm
    - contacts
    - digest
    - portal
    - http_routing
    - auth_signup
    - phone_validation
    - iap_mail
    - iap
    - crm_iap_mine
    - website_crm
    - website
    - social_media
    - google_recaptcha
    - html_builder
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES geoip2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
crm_lead_view_graph crm.lead.view.graph.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_graph
crm_lead_view_graph_report_forecast crm.lead.view.graph.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_graph_forecast
crm_lead_view_graph_report_lead crm.lead.view.graph.report.lead.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph_lead
crm_lead_view_graph_report_opportunity crm.lead.view.graph.report.opportunity.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph
crm_lead_view_pivot crm.lead.view.pivot.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_pivot
crm_lead_view_pivot_forecast crm.lead.view.pivot.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_pivot_forecast
crm_opportunity_report_view_pivot_lead crm.opportunity.report.view.pivot.lead.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_opportunity_report_view_pivot_lead
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.list crm.reveal.rule list New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.list crm.reveal.view list New
res_config_settings_view_form res.config.settings.view.form.inherit.website.crm.iap.reveal res.config.settings setting Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_count Integer
    compute='_compute_lead_count' string='Number of Generated Leads'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_lead_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.tag
    string='Tags' args: 'crm.tag'
  • team_id Many2one → crm.team
    ondelete='set null' string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/website_crm_iap_reveal
VERSION
VERSION 1.1
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Odoo Online, Jorge Pinna Puissant, Tiffany Chang (tic), Gorash, Louis Baudoux, Victor Piryns (pivi), Dylan Kiss (dyki), Louis (wil), thle-odoo, Meet
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap_crm
    - crm
    - base_setup
    - base
    - web
    - sales_team
    - mail
    - bus
    - web_tour
    - html_editor
    - calendar
    - resource
    - utm
    - contacts
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - phone_validation
    - iap_mail
    - iap
    - crm_iap_mine
    - website_crm
    - website
    - social_media
    - google_recaptcha
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES geoip2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
crm_lead_view_graph crm.lead.view.graph.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_graph
crm_lead_view_graph_report_forecast crm.lead.view.graph.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_graph_forecast
crm_lead_view_graph_report_lead crm.lead.view.graph.report.lead.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph_lead
crm_lead_view_graph_report_opportunity crm.lead.view.graph.report.opportunity.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph
crm_lead_view_pivot crm.lead.view.pivot.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_pivot
crm_lead_view_pivot_forecast crm.lead.view.pivot.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_pivot_forecast
crm_opportunity_report_view_pivot_lead crm.opportunity.report.view.pivot.lead.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_opportunity_report_view_pivot_lead
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.list crm.reveal.rule list New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.list crm.reveal.view list New
res_config_settings_view_form res.config.settings.view.form.inherit.website.crm.iap.reveal res.config.settings setting Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_count Integer
    compute='_compute_lead_count' string='Number of Generated Leads'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_lead_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.tag
    string='Tags' args: 'crm.tag'
  • team_id Many2one → crm.team
    ondelete='set null' string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (1)
  • init(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/website_crm_iap_reveal
VERSION
VERSION 1.1
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Thibault Delavallée, Fabien Meghazi, Jeremy Kersten, Odoo Online, Jorge Pinna Puissant, Julien Castiaux, Xavier-Do, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Benoit Socias, Louis Baudoux, Louis Wicket (wil), Maruan Aguerdouh (magm), Dylan Kiss (dyki), Louis (wil), thle-odoo, Meet
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:08
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap_crm
    - crm
    - base_setup
    - base
    - web
    - sales_team
    - mail
    - bus
    - web_tour
    - calendar
    - onboarding
    - resource
    - utm
    - contacts
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - phone_validation
    - iap_mail
    - iap
    - crm_iap_mine
    - website_crm
    - website
    - social_media
    - google_recaptcha
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES geoip2
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
crm_lead_view_graph crm.lead.view.graph.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_graph
crm_lead_view_graph_report_forecast crm.lead.view.graph.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_graph_forecast
crm_lead_view_graph_report_lead crm.lead.view.graph.report.lead.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph_lead
crm_lead_view_graph_report_opportunity crm.lead.view.graph.report.opportunity.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph
crm_lead_view_pivot crm.lead.view.pivot.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_pivot
crm_lead_view_pivot_forecast crm.lead.view.pivot.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_pivot_forecast
crm_opportunity_report_view_pivot_lead crm.opportunity.report.view.pivot.lead.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_opportunity_report_view_pivot_lead
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.tree crm.reveal.rule tree New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.tree crm.reveal.view tree New
res_config_settings_view_form res.config.settings.view.form.inherit.website.crm.iap.reveal res.config.settings setting Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_count Integer
    compute='_compute_lead_count' string='Number of Generated Leads'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_lead_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.tag
    string='Tags' args: 'crm.tag'
  • team_id Many2one → crm.team
    ondelete='set null' string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (1)
  • init(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/website_crm_iap_reveal
VERSION
VERSION 1.1
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Denis Ledoux, Fabien Meghazi, Romain Derie, Christophe Monniez, Julien Castiaux, Sébastien Theys, std-odoo, Louis Baudoux, Mitul Shah, Martin Trigaux (mat), thle-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap_crm
    - crm
    - base_setup
    - base
    - web
    - sales_team
    - mail
    - bus
    - web_tour
    - calendar
    - resource
    - utm
    - web_kanban_gauge
    - contacts
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - phone_validation
    - iap_mail
    - iap
    - crm_iap_mine
    - website_crm
    - website
    - social_media
    - google_recaptcha
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (14)
XML IDNameModelTypeStatus
crm_lead_view_graph crm.lead.view.graph.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_graph
crm_lead_view_graph_report_forecast crm.lead.view.graph.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_graph_forecast
crm_lead_view_graph_report_lead crm.lead.view.graph.report.lead.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph_lead
crm_lead_view_graph_report_opportunity crm.lead.view.graph.report.opportunity.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph
crm_lead_view_pivot crm.lead.view.pivot.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_pivot
crm_lead_view_pivot_forecast crm.lead.view.pivot.forecast.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_lead_view_pivot_forecast
crm_opportunity_report_view_pivot_lead crm.opportunity.report.view.pivot.lead.inherit.website.crm.iap.reveal crm.lead xpath Inherits crm.crm_opportunity_report_view_pivot_lead
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.tree crm.reveal.rule tree New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.tree crm.reveal.view tree New
res_config_settings_view_form res.config.settings.view.form.inherit.website.crm.iap.reveal res.config.settings div Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_count Integer
    compute='_compute_lead_count' string='Number of Generated Leads'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_lead_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.tag
    string='Tags' args: 'crm.tag'
  • team_id Many2one → crm.team
    ondelete='set null' string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index='btree_not_null' string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (1)
  • init(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/website_crm_iap_reveal
VERSION
VERSION 1.1
CATEGORY
CATEGORYSales/CRM
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Thibault Delavallée, Sébastien Theys, Tiffany Chang (tic), ijas ahammed, Mitul Shah
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - iap_crm
    - crm
    - base_setup
    - base
    - web
    - sales_team
    - mail
    - bus
    - web_tour
    - calendar
    - resource
    - fetchmail
    - utm
    - web_kanban_gauge
    - contacts
    - digest
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - phone_validation
    - iap_mail
    - iap
    - crm_iap_mine
    - website
    - social_media
    - google_recaptcha
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (11)
XML IDNameModelTypeStatus
crm_lead_view_graph crm.lead.view.graph.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_graph
crm_lead_view_graph_report_lead crm.lead.view.graph.report.lead.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph_lead
crm_lead_view_graph_report_opportunity crm.lead.view.graph.report.opportunity.inherit.lead.website crm.lead xpath Inherits crm.crm_opportunity_report_view_graph
crm_lead_view_pivot crm.lead.view.pivot.inherit.lead.website crm.lead xpath Inherits crm.crm_lead_view_pivot
crm_reveal_lead_opportunity_form crm.lead.inherited.crm crm.lead xpath Inherits crm.crm_lead_view_form
crm_reveal_rule_form crm.reveal.rule.form crm.reveal.rule form New
crm_reveal_rule_tree crm.reveal.rule.tree crm.reveal.rule tree New
crm_reveal_rule_view_search crm.reveal.rule.view.search crm.reveal.rule search New
crm_reveal_view_form crm.reveal.view.form crm.reveal.view form New
crm_reveal_view_tree crm.reveal.view.tree crm.reveal.view tree New
res_config_settings_view_form res.config.settings.view.form.inherit.website.crm.iap.reveal res.config.settings div Inherits crm.res_config_settings_view_form
Models touched (4)

New fields (3)
  • reveal_iap_credits Integer
    string='IAP Credits'
  • reveal_ip Char
    string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index=True string='Lead Generation Rule' args: 'crm.reveal.rule'
Public methods (0)

No public methods.

New fields (26)
  • active Boolean
    default=True
  • company_size_max Integer
    default=1000
  • company_size_min Integer
    default=0 string='Company Size'
  • contact_filter_type Selection
    default='role' required=True string='Filter On' args: [('role', 'Role'), ('seniority', 'Seniority')]
  • country_ids Many2many → res.country
    help='Only visitors of following countries will be converted into leads/opportunities (using GeoIP).' string='Countries' args: 'res.country'
  • extra_contacts Integer
    default=1 help='This is the number of contacts to track if their role/seniority match your criteria. Their details will show up in the history thread of generated leads/opportunities. One credit is consumed per tracked contact.' string='Number of Contacts'
  • filter_on_size Boolean
    default=True help='Filter companies based on their size.' string='Filter on Size'
  • industry_tag_ids Many2many → crm.iap.lead.industry
    help='Leave empty to always match. Odoo will not create lead if no match' string='Industries' args: 'crm.iap.lead.industry'
  • lead_count Integer
    compute='_compute_lead_count' string='Number of Generated Leads'
  • lead_for Selection
    default='companies' help='Choose whether to track companies only or companies and their contacts' required=True string='Data Tracking' args: [('companies', 'Companies'), ('people', 'Companies and their Contacts')]
  • lead_ids One2many → crm.lead
    string='Generated Lead / Opportunity' args: 'crm.lead', 'reveal_rule_id'
  • lead_type Selection
    default='opportunity' required=True string='Type' args: [('lead', 'Lead'), ('opportunity', 'Opportunity')]
  • name Char
    required=True string='Rule Name'
  • opportunity_count Integer
    compute='_compute_lead_count' string='Number of Generated Opportunity'
  • other_role_ids Many2many → crm.iap.lead.role
    string='Other Roles' args: 'crm.iap.lead.role'
  • preferred_role_id Many2one → crm.iap.lead.role
    string='Preferred Role' args: 'crm.iap.lead.role'
  • priority Selection
    string='Priority' args: crm_stage.AVAILABLE_PRIORITIES
  • regex_url Char
    help='Regex to track website pages. Leave empty to track the entire website, or / to target the homepage. Example: /page* to track all the pages which begin with /page' string='URL Expression'
  • seniority_id Many2one → crm.iap.lead.seniority
    string='Seniority' args: 'crm.iap.lead.seniority'
  • sequence Integer
    help='Used to order the rules with same URL and countries. Rules with a lower sequence number will be processed first.'
  • state_ids Many2many → res.country.state
    help='Only visitors of following states will be converted into leads/opportunities.' string='States' args: 'res.country.state'
  • suffix Char
    help='This will be appended in name of generated lead so you can identify lead/opportunity is generated with this rule' string='Suffix'
  • tag_ids Many2many → crm.tag
    string='Tags' args: 'crm.tag'
  • team_id Many2one → crm.team
    ondelete='set null' string='Sales Team' args: 'crm.team'
  • user_id Many2one → res.users
    string='Salesperson' args: 'res.users'
  • website_id Many2one → website
    help='Restrict Lead generation to this website.' args: 'website'
Public methods (5)
  • action_get_lead_tree_view(self)
  • action_get_opportunity_tree_view(self)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)
  • write(self, vals)

New fields (4)
  • create_date Datetime
    index=True
  • reveal_ip Char
    index=True string='IP Address'
  • reveal_rule_id Many2one → crm.reveal.rule
    index=True string='Lead Generation Rule' args: 'crm.reveal.rule'
  • reveal_state Selection
    default='to_process' index=True string='State' args: [('to_process', 'To Process'), ('not_found', 'Not Found')]
Public methods (1)
  • init(self)

New fields (0)

No new fields.

Public methods (0)

No public methods.