What are the different types of record types in Appian?
What are the different types of record types in Appian?
Answer
A record type in Appian is a design object that represents and manages business data, such as Customers, Employees, Orders, or Support Tickets. Record types are the foundation of Appian Data Fabric. They let developers connect data from different sources, create relationships, apply security, and access business information inside Appian applications.
By data source, Appian has three traditional record type categories: database-backed (entity-backed), service-backed (web service), and process-backed. It also supports Salesforce-backed records, built-in system record types, and specialized record types.
The examples below follow one telecom customer support scenario.
1. Database-backed (entity-backed)
A database-backed record type connects to a relational database table or view.
A customer named John calls support because his internet isn’t working, and the agent asks for his registered phone number. His information already sits in a database table called CUSTOMER:
Customer ID | Name | Phone Number | Plan |
|---|---|---|---|
101 | John | 9876543210 | Unlimited |
102 | Sarah | 9876543211 | Basic |
As the developer, you create a Customer record type and connect it to that table. When the agent enters John’s phone number, Appian queries the record type and shows his name, customer ID, phone number, and internet plan. The agent never touches the database directly.
- It connects to database tables or views.
- It supports Data Sync through Optimized Data Access.
- It supports record relationships and record-level security in supported configurations.
- Eligible database table-backed records can be created, updated, and deleted with record smart services.
- Database views can’t be written to with Write Records or Delete Records.
This type fits customer management, employee records, orders, complaints, and other database-driven applications.
2. Service-backed (web service)
A service-backed record type retrieves data from an external system through a web service or API.
John says he paid his bill yesterday and his internet is still down, so the agent needs to verify the payment. The billing data isn’t in Appian’s database. It lives in a separate billing application that exposes a REST API returning:
Customer ID | Bill Amount | Payment Status |
|---|---|---|
101 | $80 | Paid |
102 | $65 | Pending |
You build four things:
- A connected system that configures the connection to the billing application.
- An integration object that calls the billing API.
- An expression rule that returns the API data in the required structure.
- A billing record type that uses the expression rule as its data source.
Now the agent can open John’s account and see that his $80 payment went through, without logging in to the billing application.
- It connects to external applications through APIs.
- It can use Optimized Data Access to sync the external data.
- It can use Direct Data Access as a legacy configuration.
- Synced web service record types retrieve up to 1,000 rows by default.
- Larger datasets can sync using sequential, cursor or token, or URL-based batching.
This type fits external payment systems, billing applications, SAP, third-party CRM systems, and REST APIs.
3. Process-backed
A process-backed record type uses an Appian process model as its data source. Instead of reading from a database or API, it exposes information tied to process instances.
After checking the payment, the agent raises a network complaint, which starts a process model called Internet Complaint Resolution. The agent creates the complaint, a network engineer gets an investigation task, the engineer looks into the connection, the issue is resolved, and John gets a notification. The process has these instances:
Process ID | Customer | Status |
|---|---|---|
5001 | John | In Progress |
5002 | Sarah | Completed |
With a legacy process-backed record type, authorized users can see the process ID, start time, process initiator, and configured process data for those instances.
- It uses an Appian process model as the data source.
- It gives access to process instance information.
- It doesn’t support Data Sync.
- It’s considered a legacy record type in modern Appian versions.
- Process instance data may be unavailable after archival or deletion.
For new applications, it’s generally better to keep permanent complaint information in a database-backed record type and use process models to run the workflow. Process-backed records are mainly for maintaining existing legacy applications.
4. Salesforce-backed
A Salesforce-backed record type connects to data stored in Salesforce through a Salesforce connected system. Appian offers Salesforce as a dedicated data source shortcut.
While helping John, the agent notices his plan is expiring soon. The sales team tracks subscriptions and renewals in Salesforce. Instead of opening Salesforce, the agent can use a Salesforce-backed record type to see this inside Appian:
- Customer: John
- Current subscription: Unlimited Internet
- Renewal date: November 15
- Renewal opportunity: Open
That assumes those details exist in the connected Salesforce objects.
- It connects to supported Salesforce objects.
- It uses a Salesforce connected system.
- It supports Optimized Data Access.
- Direct Data Access creates a legacy configuration.
This type fits Salesforce CRM integration, sales leads, customer accounts, and renewal opportunities.
5. New data model
The New Data Model option lets developers create a database-backed record type from scratch. It doesn’t connect to an existing table, because Appian can generate the table itself.
Say the telecom company is launching a Support Ticket application and has no table for tickets. Instead of writing SQL by hand, the developer picks New Data Model and defines these fields:
Field | Example Value |
|---|---|
ticketId | 1001 |
customerId | 101 |
issueType | Internet Not Working |
status | Open |
assignedTo | Engineer A |
Appian generates the table and creates a synced record type. When John calls, the agent creates a ticket through an Appian form, and the details are saved through the application’s configured record actions or smart services.
- It creates a new database-backed record type.
- Appian generates the table and its fields.
- It needs a supported database and permission to create the table automatically.
- The generated record type uses Data Sync.
This type fits new applications where the required tables don’t exist yet.
Built-in and specialized record types
The built-in User record type gives access to user profile information. If John’s complaint is assigned to an engineer with the Appian username engineer.a, the application can show the engineer’s name and email next to the complaint.
The built-in Document record type provides metadata about Appian documents managed through record types. If John uploads a screenshot of his connection error, an application using record-based document management can show the file name, size, and upload date through the related Document record type. It’s accessed through related record types and can’t be queried directly.
A records-backed record type transforms existing synced record data for process insights in Process HQ. The telecom company has separate event histories for internet complaints and billing complaints, and a records-backed record type can combine them into a common structure so analysts can see where resolution gets delayed. It’s for process insights data preparation, not ordinary application interfaces.
Quick comparison
Record Type / Option | Data Source | Practical Example |
|---|---|---|
Database-backed | Database table or view | Retrieve John’s customer details |
Service-backed | External API | Check John’s billing payment |
Process-backed | Appian process model | View John’s complaint process instance |
Salesforce-backed | Salesforce | View John’s renewal information |
New data model | Generated database table | Create a new support ticket |
User | Appian user directory | Display assigned engineer details |
Document | Record-managed documents | View complaint screenshot metadata |
Records-backed | Existing synced record types | Analyze complaint resolution events |
Check yourself
Question 1 of 5, on what the answer above covers.
1. A support agent needs to look up customers by phone number, and the data already sits in a `CUSTOMER` table in your database. Which record type fits?
2. Billing data lives in a separate application that exposes a REST API. Which set of pieces do you build for a service-backed record type?
3. A synced service-backed record type pulls from a billing API with 5,000 customers, but only 1,000 show up. What's the most likely explanation and fix?
4. The company is launching a Support Ticket app and has no table for tickets. What's the fastest way to get a synced record type without hand-writing SQL?
5. Question 1 of 1 Your telecom support app already has a synced database-backed `Customer` record type. A billing API holds 5,000 customers and returns them in pages. An architect proposes four designs for the next feature. Exactly one works as described. Which one?