1"use strict";(self.webpackChunkap_resources=self.webpackChunkap_resources||[]).push([[735],{3151:function(e,a,t){var n=t(6540),o=t(7935),r=t(3565);const i=e=>{let a=e.q,t=e.a;const r=(0,n.useState)(!1),i=r[0],s=r[1];return n.createElement("div",{className:"border-b border-border-light md:first:border-t"},n.createElement("button",{type:"button",onClick:()=>s(e=>!e),"aria-expanded":i,className:"flex w-full items-center justify-between gap-4 bg-surface-muted px-6 py-5 text-left"},n.createElement("span",{className:"font-body text-body font-semibold tracking-tight text-surface-dark-deep"},a),n.createElement(o.yQ,{className:"size-4 shrink-0 text-surface-dark-deep transition-transform duration-300 ease-out "+(i?"rotate-180":"")})),n.createElement("div",{className:"grid bg-surface-muted transition-[grid-template-rows] duration-300 ease-out "+(i?"grid-rows-[1fr]":"grid-rows-[0fr]")},n.createElement("div",{className:"overflow-hidden"},n.createElement("p",{className:"px-6 pb-6 pt-1 font-body text-small leading-relaxed text-text-secondary transition-opacity duration-300 "+(i?"opacity-100":"opacity-0")},t))))};a.A=e=>{let a=e.items,t=void 0===a?r.Pf:a,s=e.id,l=e.heading,c=void 0===l?"Frequently Asked Questions":l,d=e.headingSize,p=void 0===d?"sm:text-h2":d;return n.createElement("section",{id:s,className:"scroll-mt-24 border-t border-border bg-surface-white"},n.createElement("div",{className:"mx-auto w-[90%] max-w-[1188px] border-x border-border"},n.createElement("div",{className:"grid items-start md:grid-cols-[1fr_2fr]"},n.createElement(o.gN,{className:"px-6 py-12 md:sticky md:top-24 md:self-start md:px-12 md:py-16"},n.createElement(o.d0,{text:c,className:"font-heading text-xl "+p+" font-medium leading-[1.1] tracking-heading text-surface-dark-deep"})),n.createElement(o.gN,{className:"border-t border-border pb-10 md:border-l md:border-t-0 md:py-10 lg:py-[135px]"},t.map((e,a)=>n.createElement("div",{key:e.q,"data-reveal":"fade-up",style:{"--reveal-i":a}},n.createElement(i,{q:e.q,a:e.a})))))))}},3565:function(e,a,t){const n=[{q:"Do I need CRM development skills or coding knowledge?",a:"No. We build the native app for you â platform code, metadata, security model and all. You bring the product knowledge; we handle the platform engineering."},{q:"How quickly can an integration go live?",a:"Most teams ship a working native app in days rather than the months a traditional build takes. The first iteration is usually live the same week."},{q:"Which CRMs do you support?",a:"Salesforce and HubSpot. For Salesforce we build AppExchange-ready managed packages with Security Review built in; for HubSpot, native marketplace apps."},{q:"Can I deploy across multiple orgs or environments?",a:"Absolutely. Native apps are designed for distribution, so the same package installs cleanly across any number of customer orgs or environments."},{q:"Can I update or maintain integrations after deployment?",a:"Yes. Because you own a maintainable native app, you can version, patch, and push upgrades to installed orgs without rebuilding from scratch."},{q:"Is the platform secure / enterprise-ready?",a:"Yes. Apps follow enterprise best practices â least-privilege access, no unmanaged middleware, and full audit trails â and are built to clear each platform's security review."},{q:"How does this compare to traditional CRM consulting?",a:"Consultants hand you a custom build and a six-figure bill. We build you a maintainable native app you own â done in a week, without the long-term dependency."},{q:"What kinds of prompts work for building integrations?",a:"Describe the objects, flows, and data you want to sync in plain language. The more specific you are about your product and your customers' CRM setup, the better the result."}],o=[{q:"How does pricing work?",a:"Every engagement is scoped to your build. Book a demo and we'll quote it â flat, no per-seat surprises, and you own the IP."}].concat(n);t.d(a,["Jc",0,o,"Pf",0,n,"RP",0,[{q:"How much does it cost to hire an AppExchange developer?",a:"Onshore through a consultancy, roughly $90 to $125 an hour for a developer and $135 to $170 for an architect. Offshore runs $35 to $70 depending on region. A complete commercial AppExchange app usually costs $50,000 to $150,000 once architecture, build, security review, and listing are included."},{q:"Do I need to hire a developer to list on the AppExchange?",a:"No. A done-for-you build partner delivers the managed package, handles the security review, and gets the app listed, with the source and IP handed to you. Warmly launched a fully functional managed package in a week with zero engineers hired and no consultants."},{q:"What is the difference between a Salesforce developer and an AppExchange developer?",a:"A Salesforce developer builds inside one customer's org. An AppExchange developer builds a distributable managed package for many customers, which adds namespace and packaging constraints, upgrade paths, and a mandatory security review that org work never faces. The skills do not transfer automatically."},{q:"How long does it take to hire and ship?",a:"Hiring itself takes weeks, and the build that follows runs 6 to 12 months for an agency engagement. The largest hidden variable is the security review: about half of first submissions fail, and remediation adds six to nine weeks that rate cards never show."},{q:"Should I hire onshore, offshore, or nearshore?",a:"Offshore saves roughly half on rate but widens the quality spread, so verify managed-package experience specifically rather than general Salesforce skill. Nearshore in Latin America at $40 to $65 balances cost against timezone overlap. Onshore is worth it when you need tight collaboration and cannot direct the work yourself."},{q:"Can I hire a freelance AppExchange developer?",a:"Yes, and it works when you have Salesforce knowledge in-house to brief and review the work. Without that, you are buying output you cannot evaluate, which is precisely where security review failures come from. Ask any freelancer for a live listing they packaged themselves."}],"d1",0,[{q:"Do I need Salesforce development skills or coding knowledge?",a:"No. Appnigma generates the managed package for you â Apex, metadata, security model and all. You bring the product knowledge; we handle the Salesforce platform engineering."},{q:"How quickly can an integration go live?",a:"Most teams ship a working managed package in days rather than the months a traditional Salesforce build takes. Timelines depen
1d on scope, but the first iteration is usually live the same week."},{q:"How do I get a custom quote for my deployment?",a:"Book a 30-minute call above. We'll scope your integration, install volumes and compliance needs, then send tailored pricing within 24 hours."},{q:"What does onboarding and white-glove delivery look like?",a:"We pair with your team from architecture through AppExchange security review. You get a dedicated engineer, a shared plan, and a package that passes review on the first attempt."},{q:"Can I get tailored pricing for high install volumes?",a:"Yes. Pricing scales with your install base, and we offer volume agreements for teams distributing to many Salesforce orgs. Mention your projected volume on the call."},{q:"Is the platform secure / enterprise-ready?",a:"Yes. Packages are built to pass Salesforce security review and follow enterprise best practices â least-privilege access, no unmanaged middleware, and full audit trails."},{q:"How does this compare to traditional Salesforce consulting?",a:"Consultants hand you a custom build and a bill. Appnigma generates a maintainable managed package you own â faster, cheaper, and without the long-term dependency."},{q:"What kinds of prompts work for building integrations?",a:"Describe the objects, flows and data you want to sync in plain language. The more specific you are about your product's entities and your customers' Salesforce setup, the better the generated package."}],"ei",0,[{q:"What does a Salesforce AppExchange development company do?",a:"It builds, packages, and publishes a native app on the Salesforce AppExchange for you. That covers managed package development, Apex and Lightning Web Component engineering, security review preparation, listing setup, and ongoing maintenance across Salesforce's three annual releases."},{q:"How much do AppExchange development services cost?",a:"Agency engagements for a first app commonly run $80K to $300K, with maintenance retainers of $22K to $45K per year after launch. Appnigma quotes a flat price upfront for a fixed scope, with maintenance included and no hourly billing."},{q:"How long does AppExchange development take?",a:"A traditional agency build runs 6 to 12 months. With Appnigma the package is typically built in about a week and most customers are live in about 8 weeks. The largest variable is Salesforce's Security Review queue, not engineering time."},{q:"Do I own the code and the IP?",a:"Yes. You receive the full source for your managed package and own the IP outright. There is no ongoing license required to keep your app running and no retainer needed to retain access to your own code."},{q:"What is the AppExchange Security Review and do you handle it?",a:"Security Review is Salesforce's mandatory audit before any app can be listed, covering static analysis, penetration testing, and how your app handles data and sharing. We prepare the submission, document false positives, and respond to Salesforce directly. Our co-founder spent years on Salesforce's AppExchange team working with more than 300 SaaS companies through this review, which is why we design against the criteria from day one."},{q:"Can you work with a team that has no Salesforce experience?",a:"Yes, and most of our customers are in exactly that position. Warmly launched a fully functional managed package within a week with zero prior Salesforce development experience and passed Security Review on the first attempt."},{q:"Do you offer AppExchange consulting as well as development?",a:"Yes. Packaging strategy, licensing and monetization, install limits, and listing positioning are decided as part of the engagement rather than sold as a separate retainer. If you already have an app and need only Security Review remediation, we take that on its own."},{q:"Who actually builds the app?",a:"Our own team, not subcontractors. Appnigma was founded by Sunny Chauhan, previously on Salesforce's AppExchange team and a Salesforce Developer at Zennify, and Amarjit Singh, who shipped production Salesforce solutions at Zennify and Banc of California. Between them, 12 years in the Salesforce ecosystem."},{q:"What is the difference between AppExchange and custom Salesforce development?",a:"Custom development builds functionality inside one customer's org. AppExchange development produces a distributable managed package many customers install, which means namespace and packaging constraints, upgrade paths, and a mandatory Security Review that org work never faces."}
1],"g5",0,[{q:"What is a Salesforce external client app?",a:"An external client app is Salesforce's framework for letting an outside application sign in to your org over OAuth 2.0. Like the older connected app, a Salesforce external client app holds the OAuth scopes, redirect URLs and the client ID and secret your integration uses â but it's the newer, metadata-based model Salesforce now recommends for new development."},{q:"External client app vs connected app â what's the difference?",a:"Both hand your integration a consumer key and secret for OAuth, so functionally they overlap. The connected app is Salesforce's original, org-level model; the external client app is the newer replacement, packaged as metadata so it's versionable and easier to distribute. Salesforce is steering new integrations toward external client apps, and that's exactly what Appnigma provisions for you."},{q:"What is a connected app in Salesforce (SFDC)?",a:"A connected app is the legacy way an SFDC org authorizes an external service â it stores the OAuth scopes, callback URLs and the consumer key and secret the service signs in with. The connected app platform predates external client apps, so if you're building something new, start with an external client app instead."},{q:"Where do I find my Salesforce client ID and secret?",a:"As soon as your external client app is created we show you the client ID â Salesforce calls it the consumer key â and its secret. Copy them once (we mask the secret straight after) and drop them into your OAuth configuration. You can rotate them any time from the app."},{q:"Which OAuth scopes can I grant?",a:"All the standard Salesforce OAuth scopes â API access, refresh tokens, OpenID Connect and the rest. Pick one of the three presets, or toggle any scope individually. Data-only, data plus sign-in, or full access: it's your call, and you can narrow it before you ship to production."},{q:"Do I need a Salesforce partner account or admin access?",a:"No. There's no partner application to fill in and no admin clicking through setup screens. Sign in with your email, name the app, add your redirect URLs and scopes, and collect your client ID and secret â most people are done in about two minutes."}]])},6592:function(e,a,t){t.r(a);var n=t(6540),o=t(9229),r=t(3151),i=t(7935),s=t(9687),l=t(6989);a.default=e=>{let a=e.pageContext;const t=l.sh[a.slug];if(!t)return null;const c="https://www.appnigma.ai"+l.Kq+"/"+t.slug+"/",d={title:t.seo.title,description:t.seo.description,ogTitle:t.seo.title,ogDescription:t.seo.description,ogUrl:c,twitterTitle:t.seo.title,twitterDescription:t.seo.description,twitterCard:"summary_large_image"},p={title:t.hero.subject,kind:"Comparison",meta:[{label:"Written by",value:t.hero.author,icon:i.KJ},{label:"Last reviewed",value:t.hero.reviewedLabel,icon:i.vT},{label:"Next review",value:t.hero.nextReview,icon:i.zD}]};return n.createElement(o.A,{seo:d},n.createElement(s._C,t.hero),n.createElement(s.dD,t.inShort),n.createElement(s.uf,{rail:p,toc:t.toc},n.createElement(s.d6,Object.assign({id:"verdict",heading:"Which architecture fits your use case"},t.verdict,{first:!0})),n.createElement(s.Zb,t.meters),n.createElement(s.Af,t.table),n.createElement(s.Zb,t.namespace),n.createElement(s.Zb,t.ceiling),n.createElement(s.P9,t.nomake),n.createElement(s.xO,t.matrix),n.createElement(s.BB,t.scenarios),n.createElement(s.KR,Object.assign({id:"method"},t.credibility)),n.createElement(s.Wl,t.sources)),n.createElement(r.A,{id:"faq",heading:"Common questions",items:t.faq,headingSize:"sm:text-section"}),n.createElement(s.qJ,t.cta))}}}]); 2//# sourceMappingURL=component---src-templates-compare-page-js-34f538246d7f8daeb5bd.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.